PyPy 4.0 Released
Written by Kay Ewbank   
Tuesday, 10 November 2015

PyPy 4.0.0 has been released, bringing a major update for the Python interpreter and JIT compiler. The new version adds SIMD vectorization support on x86, and improved functionality of numpy among other improvements.

pypylogo

The new release is a major update of the PyPy python 2.7.10 compatible interpreter with a Just In Time compiler. The package provides an alternative way to compile and run Python programs. If you're confused about the numbering change, this is the follow-up release to PyPy 2.6.1. The developers have decided to move to the new numbering scheme of PyPy 4.x.x, to avoid confusion with CPython 2.7 and 3.5. The new version implements Python 2.7.10. 

PyPy is written in Python itself, using a restricted version of Python called RPython that was co-developed with it. RPython is also used separately from PyPy, and versions of other dynamic languages have been implemented using RPython, including versions of Prolog, Smalltalk, JavaScript, a Ruby implementation called Topaz and a PHP implementation called HippyVM.

PyPy is much faster than CPython, and so long as you don't need the features of Python 3, it provides an excellent alternative. If you need Python 3 support, there is a beta release of PyPy3 which implements Python 3.2.5.

The vectorization support in the new version adds a vectorization step to the trace optimizer. The step recognizes common constructs and emits SIMD code where possible. This should increase the speed of numerical applications in the NumPyPy library and for some Python programs. Because this is a very new addition, it is off by default.

The numpy implementation is another area that has been improved. Writing about the new version on the PyPy blog, the PyPy team said:

"ndarray and the numeric dtypes are very close to feature-complete; record, string and unicode dtypes are mostly supported. We have reimplemented numpy linalg, random and fft as cffi-1.0 modules that call out to the same underlying libraries that upstream numpy uses."

The final major improvement is to CFFI (C Foreign Function Interface for Python), which the developers say is:

"arguably our most significant contribution to the python ecosystem"

even though it applies to Python more generally rather than just to PyPy. The updated version also has improved manangement of object lifetimes and support for __stdcall on Win32 among other minor changes. 

pypylogo

 

More Information

PyPy blog

PyPy site

Related Articles

PyPy – a faster Python    

PyPy - Faster Python Now On ARM          

PyPy 2.5 Released

Python 3.5 Released

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin

 

Banner


Google Code-In 2019 Underway
05/12/2019

This year's Google Code-In started on December 2nd. This is the tenth event since it started in 2010 and is expected to be the biggest yet of this seven-week long global online contest in which studen [ ... ]



Julia Improves Multithreading
28/11/2019

Julia has a new release with support for multi-threading and the ability to add methods to an abstract type. Julia recently made it into the top six languages for machine learning projects on&nbs [ ... ]


More News

 

graphics

 



 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Tuesday, 10 November 2015 )