既然PyPy的速度是CPython的6.3倍,难道我不应该放弃CPython转用PyPy?

本文由 伯乐在线人见人爱的土豆 翻译。未经许可,禁止转载!
英文出处:chhantyal。欢迎加入翻译组

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需要重新装备机器。这对很多用户或者使用机构来说,都是太多的额外工作了。

于我来说,以上就是主要影响我的原因。

1
收藏

1 评论





关于作者:人见人爱的土豆


Weibo : @人见人爱花见花开的土豆Site: mingcheng.me


个人主页 ·
我的文章

· 7

转载自演道,想查看更及时的互联网产品技术热点文章请点击http://go2live.cn

8 Comments