PyPy is a interpreter and JIT compiler for Python. If you are a programmer and program in Python you must have used PyPy because its makes your applications run faster and has great memory management. And also supports various Python libraries.
And it has released a PyPy 1.6 version for Python 2.7.1. This release of PyPy will bring a lot of bug fixes, performance improvements and improves support on Windows and Mac OSX 64 bit. It is available for download for Linux, Mac OS X and Windows. However the Windows binary file isn’t released yet.
The benchmark on PyPy 1.6 show that its 20% -30% faster than PyP 1.5.
Here are some of the highlights of PyPy 1.6 :-
- Numerous performance improvements, overall giving considerable speedups:
- better GC behavior when dealing with very large objects and arrays
- fast ctypes: now calls to ctypes functions are seen and optimized by the JIT, and they are up to 60 times faster than PyPy 1.5 and 10 times faster than CPython
- improved generators(1): simple generators now are inlined into the caller loop, making performance up to 3.5 times faster than PyPy 1.5.
- improved generators(2): thanks to other optimizations, even generators that are not inlined are between 10% and 20% faster than PyPy 1.5.
- faster warmup time for the JIT
- JIT support for single floats (e.g., for array('f'))
- optimized dictionaries: the internal representation of dictionaries is now dynamically selected depending on the type of stored objects, resulting in faster code and smaller memory footprint. For example, dictionaries whose keys are all strings, or all integers. Other dictionaries are also smaller due to bugfixes.
- JitViewer: this is the first official release which includes the JitViewer, a web-based tool which helps you to see which parts of your Python code have been compiled by the JIT, down until the assembler. The jitviewer 0.1 has already been release and works well with PyPy 1.6.
- The CPython extension module API has been improved and now supports many more extensions. For information on which one are supported, please refer to our compatibility wiki.
- Multibyte encoding support: this was of of the last areas in which we were still behind CPython, but now we fully support them.
- Preliminary support for NumPy: this release includes a preview of a very fast NumPy module integrated with the PyPy JIT. Unfortunately, this does not mean that you can expect to take an existing NumPy program and run it on PyPy, because the module is still unfinished and supports only some of the numpy API. However, barring some details, what works should be blazingly fast 🙂
- Bugfixes: since the 1.5 release we fixed 53 bugs in our bug tracker, not counting the numerous bugs that were found and reported through other channels than the bug tracker.