提问者:小点点

如果PyPy比CPython快6.3倍,为什么我不应该使用PyPy而不是CPython呢?


我听说了很多关于PyPy项目的事。他们声称它比他们网站上的CPython解释器快6.3倍。

每当我们谈论像Python这样的动态语言时,速度都是首要问题之一。为了解决这个问题,他们说PyPy的速度快了6.3倍。

第二个问题是并行性,即臭名昭著的全局解释器锁(GIL)。对于这一点,PyPy说它可以给出无Gil的Python。

如果PyPy能够解决这些巨大的挑战,那么它的哪些弱点正在阻止更广泛的采用呢?也就是说,是什么阻止了像我这样一个典型的Python开发人员现在切换到PyPy?


共1个答案

匿名用户

注意:现在的PyPy比2013年更成熟,支持更好,当时这个问题被问到。避免从过时的信息中得出结论。

  1. 正如其他人很快提到的,Pypy对C扩展的支持很弱。它有支持,但通常速度比Python慢,而且充其量也是不确定的。因此,许多模块只需要CPYTHON。 <罢工> PyPy不支持numpy 。仍不支持某些扩展( <罢工> 熊猫 , <罢工> Scipy 等),在进行更改之前查看受支持的包列表。请注意,列表中许多标记为不受支持的包现在都受支持。
  2. 支持Python 3 <罢工> 目前是试验性的。 刚刚稳定!截至2014年6月20日,PyPy3 2.3.1-支点已退出!
  3. Pypy有时对“脚本”并不是更快,而很多人都使用Python来处理“脚本”。这些是运行时间短的程序,可以做一些简单而小的事情。因为PyPy是一个JIT编译器,所以它的主要优势在于运行时间长和类型简单(如数字)。与CPython相比,Pypy的预JIT速度可能会差。
  4. 惯性。迁移到PyPy通常需要重新调整工具,这对于某些人和组织来说简直是太多的工作了。

我得说,这些是影响我的主要原因。