chhantyal 在 SO 上的提问:
“我已经听说了很多关于Pypy 的项目。他们宣称在自己的网站上的处理速度是CPython 的6.3 倍。
任何时候我们讨论起像Python 一样的动态编程语言,速度总是最重要的考量之一。PyPy的网站宣称解决了速度的问题,比传统CPython 的处理速度快6.3倍。
第二个问题是并行机制,传说中那个声名狼藉的全局解释器锁。 针对这个问题, PyPy 声称自己提供了一个没有那么依赖全局解释器锁的Python。
如果PyPy 真的能解决这些问题,那到底是什么阻止了Pypy 的推广应用呢? 换句话说,是什么阻止了像我一样的Python 程序员去放弃当前使用的Python版本而转投PyPy 的怀抱呢?”
Veedrac 的最佳答复:
就像其他人提到的,PyPy有很弱的C 语言扩展性。它支持C语言扩展,但是比Python本身的速度还慢。因此,很多模块本身就要求使用CPython.。
CPython 上的Numpy的数据处理性非常好,满足了那些既要求速度又大量使用Pandas, SciPy等数据分析任务的库的人。
所以,Pypy 要么不支持或者很弱支持C语言扩展,要么减慢了那些数据处理的速度。完全无法比拟既可以满足速度要求又简单易用的CPyhon。
第二点,Python 3的支持在现阶段还是实验期。那些使用最新版本的Python新功能的人,现在应该还不愿意扔掉那些还在新鲜期的新奇功能。
第三点,PyPy 并不是真正的脚本快,而大多数使用Python 的人就是在用脚本。这些脚本就是一些简短的程序。 PyPy 的最大优点是它针对长时间运行的简单数字处理的即时 (JIT) 编译器。直白地说, PyPy的先编译处理时间比CPython长的多。
第四点,惰性。转移到PyPy需要重新装备机器。这对很多用户或者使用机构来说,都是太多的额外工作了。
于我来说,以上就是主要影响我的原因。