ホームページ >バックエンド開発 >Python チュートリアル >Python 3.12 の目標: パフォーマンスの向上!
リリース計画によると、Python 3.11.0 は 2022 年 10 月 24 日にリリースされます。
テストによると、3.11 は 3.10 と比較して 10 ~ 60% パフォーマンスが向上します。この成果は主に、「Shannon プロジェクト」としても知られる「Faster CPython」プロジェクトによるものです。
3.11 バージョンは、Python の高速化にとって刺激的なスタートです。次の 3.12 ではさらに多くのアクションが登場します。
以下の記事は「Shannon Project」の「Python 3.12 Goals」を翻訳したものですので、まずは見てみましょう!
この記事の内容は変更される可能性がありますが、実際のバージョンが優先されます。
この記事は、Faster CPython が 3.12 で実装する予定の主なコンテンツの概要です。
Python 3.11 で速度を向上させる主な方法は、個々のオペコードをより高速なコンテキスト依存オペコード (適応型特殊化オペコード) に置き換えることです。次に、大きな改善は、実行を最適化することです。複数のオペコードの。
これを行うには、既存の高レベルのオペコードの多くが、バージョン番号や参照カウントのチェックに使用されるような低レベルのオペコードに置き換えられます。これらの単純なオペコードは最適化が容易で、たとえば、冗長な参照カウント操作を削除できます。
これらの下位レベルのオペコードは、(CPython とサードパーティの JIT プロジェクトの両方で) マシン コードを生成するのに適した一連の命令も提供します。
これを行うには、宣言的な記述に基づいてインタープリタ ループが生成されます。
これにより、インタプリタ ループを特定の関連関数 (mark_stacks、stack_effect など) と同期させることによって発生するバグの一部を減らすことができ、また、インタプリタ ループに対するより大きな変更を実験することもできます。
Python には現在、プロセスごとにグローバル インタープリタ ロック (GIL) があり、これがマルチスレッド並列処理を妨げています。
PEP-684 は、すべてのグローバル状態がスレッドセーフであることを保証し、各サブインタープリターの使用のグローバルインタープリターロックに移動するソリューションを提案しました。
https://www.php.cn/link/7392ea4ca76ad2fb4c9c3b6a5c6e31e3
より小さなオブジェクト構造以上がPython 3.12 の目標: パフォーマンスの向上!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。