我已经听说了许多关于PyPy项目。他们声称它比他们网站上的CPython解释器快6.3倍。
每当我们谈论像Python这样的动态语言时,速度就是最重要的问题之一。为了解决这个问题,他们说PyPy比以前快了6.3倍。
第二个问题是并行,臭名昭着的全球口译员锁(GIL)。为此,PyPy说它可以给GIL更少的Python。
如果PyPy能够解决这些巨大的挑战,那么它的弱点是什么阻止了更广泛的采用?也就是说,什么阻止像我这样的典型的Python开发人员现在切换到PyPy ?
因为pypy不是100%兼容的,需要8个ram来编译,是一个移动的目标,而且是高度实验性的,cpython是稳定的,二十年来模块构建者的默认目标(包括不能在pypy上工作的c扩展),并已被广泛部署。
Pypy可能永远不会成为参考实现,但它是一个很好的工具。
正如其他人所说的,PyPy 对C扩展的支持很少。它有支持,但通常速度比Python慢,而且最好也是如此。因此很多模块只需要 CPython。Cython和Numpy 对于数字来说非常棒,而且大多数真正需要Python速度的人都会大量使用那些(+ Pandas,SciPy等)。由于它们要么是不存在的,要么是得到很少的支持,并且需要快速Python的人速度更慢,而且使用CPython的速度和易用性往往更好。
Python 3支持目前是实验性的。 刚刚达到稳定!截至2014年6月20日,PyPy3 2.3.1 - 支点出局!
PyPy有时并不真正更快“脚本”,其中有很多人使用Python进行。这些是短小的程序,可以做一些简单而小巧的事情。由于PyPy是一个JIT编译器,它的主要优点来自长时间运行和简单的类型(如数字)。坦率地说,与CPython相比,PyPy的pre-JIT速度相当糟糕。
惯性。转移到PyPy通常需要重新安装,对于某些人员和组织来说,这只是太多的工作。
这是影响我的主要原因,我会说。
PS:这个问题是古老的!避免从过时的信息中得出结论。