如果PyPy的速度提高了6.3倍,为什么我不应该在Python上使用PyPy?
我一直听到很多关于PyPy项目的消息。 他们声称它比他们网站上的CPython解释器快6.3倍。
每当我们谈论像Python这样的动态语言时,速度就是最重要的问题之一。 为了解决这个问题,他们说PyPy的速度提高了6.3倍。
第二个问题是并行,即臭名昭着的全球口译员锁(GIL)。 为此,PyPy说它可以给GIL少的Python。
如果PyPy能够解决这些重大挑战,那么它的弱点在哪些方面会阻止更广泛的采用? 也就是说,什么阻止像我这样的典型的Python开发人员现在切换到PyPy?
这些都是影响我的主要原因,我会说。
注意:这个问题是古老的! 避免从过时的信息中得出结论。
该网站并没有声称PyPy比CPython快6.3倍。 去引用:
所有基准的几何平均值比CPython快0.16或6.3倍
这是对你所做的全面陈述的一个非常不同的陈述,当你明白其中的差异时,你至少会理解一组为什么你不能说“使用PyPy”的理由。 这可能听起来像我挑选,但理解为什么这两个陈述完全不同是至关重要的。
打破这一点:
他们所作的陈述仅适用于他们使用的基准。 它对你的程序一无所知(除非你的程序和他们的基准程序完全一样)。
该声明是关于一组基准的平均值 。 没有人声称,即使对于他们测试过的程序,运行PyPy也会提高6.3倍。
没有人声称PyPy甚至可以运行CPython运行的所有程序 ,更不用说更快了。
因为pypy不是100%兼容的,所以需要8个ram来编译,是一个移动的目标,并且是高度实验性的,其中cpython是稳定的,这是二十年来模块构建者的默认目标(包括不能在pypy上工作的c扩展) ),并已广泛部署。
Pypy可能永远不会成为参考实现,但它是一个很好的工具。
链接地址: http://www.djcxy.com/p/2475.html上一篇: Why shouldn't I use PyPy over CPython if PyPy is 6.3 times faster?