Pyston-lite JIT compiler now supports Python 3.10

A new release of the Pyston-lite extension is available, implementing a JIT compiler for CPython. Unlike the Pyston project, which is developed separately as a fork from the CPython codebase, Pyston-lite is designed as a universal extension designed to connect to the standard Python interpreter (CPython). The new release is notable for providing support for the Python 3.7, 3.9, and 3.10 branches, in addition to the previously supported 3.8 branch.

Pyston-lite allows you to use the basic Pyston technologies without changing the interpreter, by installing an additional extension using the PIP or Conda package manager. Pyston-lite is already hosted in the PyPI and Conda repositories, and to install, just run the command "pip install pyston_lite_autoload" or "conda install pyston_lite_autoload -c pyston". Two packages are suggested: pyston_lite (JIT directly) and pyston_lite_autoload (does automatic JIT substitution when starting a Python process). It is also possible to programmatically control enabling JIT from within the application without installing the autoload module, using the pyston_lite.enable() function.

Additionally, the developers have announced that they are now considering Pyston-lite as their primary product. Regular Pyston provides better performance, but its use is hampered by the need to replace the interpreter, while Pyston-lite is easily integrated into existing configurations. Specific optimizations that were present in Pyston will be carried over to the core CPython where possible. In the long term, there is a desire to transfer the implementation of the JIT compiler to the main composition of CPython.

In its current form, compared to CPython 3.8, using Pyston-lite allows you to increase performance by 10% in the macrobenchmarks text and by 28% in the pyperformance test. For comparison, the performance gain when using standalone Pyston is 28% and 65%, respectively.

The upcoming release of the main CPython 3.11 project includes changes related to bytecode state caching, faster function calls, and the use of fast interpreters for common operations, as well as some optimizations prepared by the Cinder and HotPy projects. As a result, CPython 3.11rc2 in the above tests shows a performance increase of 12% and 26%, which is comparable to Pyston-lite (the new CPython and Pyston-lite have different optimizations, porting Pyston-lite to CPython 3.11 will further improve the performance of this branch ).

Source: opennet.ru

Add a comment