2020 年秋,CPython 核心開發者 Mark Shannon 提出了關于 Python 的幾個性能改進,這個提議被稱為 “香農計劃” (Shannon Plan)。
Shannon 隨后創建了 Faster Cpython 項目,他希望在 4 年的時間里,通過多個版本的更新將 Python 的速度提升 5 倍。
不久之后微軟正式加入該計劃,該公司支持包括 Mark Shannon、Guido van Rossum 在內的開發人員,致力于「Faster CPython」項目的研究。
近日,Mark Shannon 和 Michael Droettboom介紹了面向 Python 3.13 的計劃。
他們提出了三個可并行推進的工作:
推出 Tier 2 優化器
從 Python 代碼中啟用子解釋器 (PEP 554)
優化內存管理
Tier 2 優化器的目標是將花在解釋器上的時間減少至少 50%,其工作計劃大致如下:
讓 Tier 2 解釋器運轉起來
生成 superblocks
實現基本的 superblock 管理功能
至于從 Python 代碼中啟用子解釋器,這項工作建立在 Python 3.12 中 per-interpreter GIL 的基礎上,方便 Python 程序員利用 Python 代碼子解釋器中更好的并行性(無需編寫 C 擴展)。
目前已有針對這項工作的草案:PEP 554。首先需要更新并推動早日獲得批準,以便在必要時改變方向。
最后,關于優化內存管理方面。性能分析數據顯示,內存管理和循環 GC 花費了相當多的時間。目前的計劃是:
通過改進數據結構來減少分配
花費更少的時間進行循環 GC
至于官方 JIT,Shannon 曾表示實現 JIT 的第一步是實現一個跟蹤解釋器,但由于需要兼顧其他工作,引入 JIT 編譯器的工作還有一段路要走,“最早可能要到 3.13 才能到達”。(其實 Shannon 一直對 CPython 是否真的需要引入 JIT 持懷疑態度)
有開發者“銳評”了該團隊與另一個項目的內部斗爭 ——完全移除 CPython 解釋器的 GIL(全局解釋器鎖)。
他認為 Faster Python 團隊在這場斗爭中在“政治”上處于更好的位置。
審核編輯:劉清
-
python
+關注
關注
56文章
4798瀏覽量
84800
原文標題:“讓Python快5倍”最新計劃:優化解釋器和內存管理
文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論