PythonコンパイラであるNuitka 4.0がリリースされました。CPython JITの開発状況

Nuitka 4.0 プロジェクトのリリースが利用可能です。このプロジェクトは、Python スクリプトを C 表現に変換するためのコンパイラーを開発します。これは、CPython との互換性を最大限に高めるために libpython を使用して実行可能ファイルにコンパイルできます (オブジェクト管理にはネイティブ CPython ツールを使用します)。 Python 2.6、2.7、3.4 ~ 3.13 の現在のリリースとの完全な互換性を提供します。 CPython と比較して、コンパイルされたスクリプトは pystone テストで 335% のパフォーマンス向上を示しています。 プロジェクト コードは、Apache ライセンスに基づいて配布されます。

収録曲:

  • Python 3.12、3.13、3.14との互換性を向上させるための変更が行われました。例えば、遅延アノテーション処理のサポートや、汎用クラスおよび関数向けの新しい型アノテーション構文が追加されています。
  • Nuitkaにおいて、CコンパイラのバックエンドとしてZigコンパイラ(zig cc)を使用するための実験的なサポートを追加しました。
  • Clangコンパイラ使用時のLTO最適化に対する暫定的なサポートを追加しました。
  • 関数のコンパイルを除外するために、デコレータ「@nuitka_ignore」が提案されています。
  • 以下のオプションが実装されています: pyproject.toml ファイルの設定を使用してビルドするための "--project"、ビルド段階でのプロファイリングのための "--devel-profile-compilation"、フォーク爆弾のデバッグのための "--debug-self-forking"、C ランタイム DLL のインクルードを制御するための "--include-windows-runtime-dlls" WindowsQtプラグインの読み込みを診断するための「--qt-debug-plugins」。
  • oracledb、win32ctypes、dask、dataparser、puremagic、pygments.lexers、tomli、av、sentry_sdk、jedi、parso、line_profiler、およびpandasパッケージの最新バージョンに対するサポートを追加しました。

さらに、CPythonにおけるJITコンパイラの開発状況についても注目に値する。開発者たちは、CPython 3.15のリリースまでにJITのパフォーマンスを5%、3.16のリリースまでに10%向上させることを目標としており、さらにJITをフリースレッドモード(グローバルロックなし)で使用できる機能も実現しようとしている。現在、CPython 3.15のアルファ版ビルドでJITを使用すると、プラットフォーム上で平均11~12%の高速化が既に実証されている。 macOS AArch64プラットフォームでは5~6%、x86_64プラットフォームでは5~6%の性能向上を実現しています。 Linux 標準のインタープリタと比較すると、JITを有効にした場合の個々のテストにおけるパフォーマンス向上は、100%以上の高速化から20%の低速化まで幅がある。

PythonコンパイラであるNuitka 4.0がリリースされました。CPython JITの開発状況


出所: オープンネット.ru
DDoS 保護機能を備えた信頼性の高いサイト用ホスティング、VPS VDS サーバーを購入する 🔥 DDoS攻撃対策付きの信頼性の高いウェブサイトホスティング、VPS/VDSサーバーを購入しましょう | ProHoster