PyPy 2.6.0发布了,包括一些Python兼容性的改进、支持统计分析工具vmprof——旨在适应分析JIT’ed代码。另外,在谈到PyPy 2.6.0性能方面,不仅是改变了外观尺寸,还进行了内部重构和生产清理,从而获得了更好的JIT性能和提高了I/O性能。PyPy开发者声称,他们的benchmark套件比CPython快了7倍。
PyPy是Armin Rigo开发的Python语言动态编译器,是Psyco的后继项目,也是Python开发者为了更好的Hack Python而创建的项目,PyPy的目的是,做到Psyco没有做到的动态编译。
PyPy比CPython更加灵活,更易于使用和试验,可以制定具体的功能在不同情况下的实现方法,且可以很容易实施。
以下内容摘译自PyPy团队的官方发布说明:
我们很高兴在发布PyPy 2.5.1两个月后正式宣布PyPy 2.6.0,也同样开心的是此版本更新了cffi至版本 1.1,这使得流行的ctypes-alternative更容易使用,并且支持新的统计分析工具vmprof。
你现在可以从这里下载PyPy 2.6.0:
我们非常感谢那些一直支持PyPy项目和三个子项目的捐献者,以及我们的志愿者和贡献者。我们已经有了很多的改进,不过花费了很多钱,现在请求更多的资助,为了让你们信服我们能完成这些项目,请看这三个子项目进展:
- Py3k(支持 Python 3.x):我们已经发布了一个Python 3.2.5兼容版本,叫做PyPy3 2.4.0,并朝着Python 3.3兼容版本努力;
- STM(软件事务内存):我们已经发布了第一个工作版本,并不断尝试以实现多线程的Python;
- NumPy:可在bitbucket上获得。
我们也想要更多人加入这个项目。PyPy有很多的方面,他们需要你:PyPy和RPython文档改进,调整以使得流行模块支持pypy,或者一些常规的帮助来使得RPython的JIT更好。从上次发布至今已经有9位新人,你也可以成为其中的一个。
重点改进:
- Python的兼容性:
- 改进对TLS 1.1 和 1.2的支持
- Windows下载现在是一个pypyw.exe加一个pypy.exe
- 支持PYTHONOPTIMIZE环境变量(影响builtin’s __debug__ property)
- 解决了之前版本报告的issues,报告:https://bitbucket.org/pypy/pypy/issues或者在IRC at #pypy
- 新特性:
- 新增一个初步支持的轻量级统计工具vmprof,适应分析JIT’ed代码;
- Numpy:
- 通过一个garbage collector hook支持
object
dtype; - 支持 .can_cast 和 .min_scalar_type,以及内部重构;
- 更好地支持
subtypes
,通过__array_interface__ 、 __array_priority__ 和 __array_wrap__ methods - 更好地支持ndarray.flags;
- 通过一个garbage collector hook支持
- 性能改进:
- 框架尺寸改进,提高一些基准;
- 内部重构和清理,从而提高JIT性能;
- 改进zlib 和 bz2模块的IO性能;
- 持续优化JIT。我们的benchmark套件现在比cpython快了7倍;