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.


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. 



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



Google Resumes Transition To Manifest V3

Google has resumed the planned deprecation of Manifest V2, giving notice to Chrome extension developers that Manifest V2 extensions will be phased out as early as June 2024 in the prestable versions - [ ... ]

GitHub Sees Exponential Rise In AI

Developers are flocking to AI creating an explosion of generative AI activity in open source. The 11th annual Octoverse report, unveiled at last week's GitHub Universe event recorded 65K public g [ ... ]

More News





or email your comment to:

Last Updated ( Tuesday, 10 November 2015 )