Nuitka 4.0 Released: Python Compiler, JIT Progress

Nuitka 4.0 has been released, offering a compiler that translates Python scripts into a C representation. This enables the creation of executable files that utilize libpython for maximum compatibility with CPython. The compiled scripts demonstrate a 335% performance improvement in pystone benchmarks compared to CPython. The project code, distributed under the Apache license, ensures full compatibility with Python versions 2.6 to 3.13.

In the latest release, changes have been made to enhance compatibility with Python 3.12, 3.13, and 3.14. This includes added support for deferred annotation processing and new syntax type annotations for generic classes and functions. Additionally, experimental options have been added to use the Zig compiler as a backend and preliminary support for LTO optimizations when using the Clang compiler.

  • An “@nuitka_ignore” decorator has been introduced to exclude compilation of functions.
  • New options have been implemented, including “–project” for building using settings from the pyproject.toml file, “–devel-profile-compilation” for profiling at the build stage, “–debug-self-forking” for debugging fork bombs, “–include-windows-runtime-dlls” for controlling the inclusion of C runtime DLL in Windows, and “–qt-debug-plugins” for diagnostics of loading Qt plugins.
  • Support for current versions of various packages such as oracledb, win32ctypes, dask, and pandas has been added.

Furthermore, a report on the progress of the development of the JIT compiler in CPython has been released. The goal is to increase JIT performance by 5% in CPython 3.15 and by 10% in 3.16, along with implementing the option to use JIT in Free-threading mode. Early tests show an average speedup of 11-12% on macOS AArch64 platform and 5-6% on x86_64 Linux platform with JIT enabled. However, performance changes vary in

/Reports, release notes, official announcements.