Python JIT编译器的优缺点
我现在知道有以下几种Python的即时编译器:Psyco、PyPy和Unladen Swallow。
基本上,我想请教一下你们对这些编译器的优缺点有什么个人看法,还有没有其他值得关注的编译器。
提前谢谢大家,
Az
2 个回答
1
你可以考虑一些其他工具来加快Python的运行速度:
- Cython,这个工具需要你在相关的方法中为所有变量指定类型,然后它会把这个方法编译成更快的代码。
- Numba,这个工具需要用到LLVM,但它是即时编译的(也就是说,方法必须加上参数类型的标记,才能进行编译)。
10
Christian Perone 最近写了一篇很棒的文章,他在里面说(并提供了相关的基准测试数据),现在 PyPy
是运行速度最快的,测试结果显示它只用了145秒,而 Unladen Swallow 用了300秒,CPython 则用了374秒(其实 Psyco 并没有帮助,PsycoV2 反而让测试时间变成了434秒),Jython 则用了557秒。想了解更多细节,可以查看我刚才给的链接。
当然,你需要在更多的基准测试上确认这个结果,但看起来这个说法很可信,也很有趣。PyPy 有最大的团队在开发(而且已经很多年了,包括几年的欧盟研究资金的支持),所以它现在“完全运转”并准备好迎接挑战,这一点是相当可信的!-)