2020 年秋,CPython 核心開(kāi)發(fā)者 Mark Shannon 提出了關(guān)于 Python 的幾個(gè)性能改進(jìn),這個(gè)提議被稱為 “香農(nóng)計(jì)劃” (Shannon Plan)。
Shannon 隨后創(chuàng)建了 Faster Cpython 項(xiàng)目,他希望在 4 年的時(shí)間里,通過(guò)多個(gè)版本的更新將 Python 的速度提升 5 倍。
不久之后微軟正式加入該計(jì)劃,該公司支持包括 Mark Shannon、Guido van Rossum 在內(nèi)的開(kāi)發(fā)人員,致力于「Faster CPython」項(xiàng)目的研究。
近日,Mark Shannon 和 Michael Droettboom介紹了面向 Python 3.13 的計(jì)劃。

他們提出了三個(gè)可并行推進(jìn)的工作:
推出 Tier 2 優(yōu)化器
從 Python 代碼中啟用子解釋器 (PEP 554)
優(yōu)化內(nèi)存管理
Tier 2 優(yōu)化器的目標(biāo)是將花在解釋器上的時(shí)間減少至少 50%,其工作計(jì)劃大致如下:
讓 Tier 2 解釋器運(yùn)轉(zhuǎn)起來(lái)
生成 superblocks
實(shí)現(xiàn)基本的 superblock 管理功能
至于從 Python 代碼中啟用子解釋器,這項(xiàng)工作建立在 Python 3.12 中 per-interpreter GIL 的基礎(chǔ)上,方便 Python 程序員利用 Python 代碼子解釋器中更好的并行性(無(wú)需編寫 C 擴(kuò)展)。
目前已有針對(duì)這項(xiàng)工作的草案:PEP 554。首先需要更新并推動(dòng)早日獲得批準(zhǔn),以便在必要時(shí)改變方向。
最后,關(guān)于優(yōu)化內(nèi)存管理方面。性能分析數(shù)據(jù)顯示,內(nèi)存管理和循環(huán) GC 花費(fèi)了相當(dāng)多的時(shí)間。目前的計(jì)劃是:
通過(guò)改進(jìn)數(shù)據(jù)結(jié)構(gòu)來(lái)減少分配
花費(fèi)更少的時(shí)間進(jìn)行循環(huán) GC
至于官方 JIT,Shannon 曾表示實(shí)現(xiàn) JIT 的第一步是實(shí)現(xiàn)一個(gè)跟蹤解釋器,但由于需要兼顧其他工作,引入 JIT 編譯器的工作還有一段路要走,“最早可能要到 3.13 才能到達(dá)”。(其實(shí) Shannon 一直對(duì) CPython 是否真的需要引入 JIT 持懷疑態(tài)度)
有開(kāi)發(fā)者“銳評(píng)”了該團(tuán)隊(duì)與另一個(gè)項(xiàng)目的內(nèi)部斗爭(zhēng) ——完全移除 CPython 解釋器的 GIL(全局解釋器鎖)。
他認(rèn)為 Faster Python 團(tuán)隊(duì)在這場(chǎng)斗爭(zhēng)中在“政治”上處于更好的位置。
審核編輯:劉清
-
python
+關(guān)注
關(guān)注
57文章
4876瀏覽量
90039
原文標(biāo)題:“讓Python快5倍”最新計(jì)劃:優(yōu)化解釋器和內(nèi)存管理
文章出處:【微信號(hào):OSC開(kāi)源社區(qū),微信公眾號(hào):OSC開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
兩節(jié)串聯(lián)鋰電池充電管理芯片,普通,高壓,快充輸入選型介紹
請(qǐng)問(wèn)如何優(yōu)化芯片的功耗管理?
一文了解Mojo編程語(yǔ)言
工程實(shí)施不卡殼!藍(lán)蜂MQTT 邊緣計(jì)算網(wǎng)關(guān)讓設(shè)備聯(lián)網(wǎng)快 3 倍
蜂鳥E203內(nèi)核優(yōu)化方法
termux如何搭建python游戲
靈活高效ZBUFF — C內(nèi)存數(shù)據(jù)操作庫(kù):優(yōu)化內(nèi)存管理的利器
Cadence推出LPDDR6/5X 14.4Gbps內(nèi)存IP系統(tǒng)解決方案
請(qǐng)問(wèn)如何優(yōu)化OpenVINO?工具套件中的內(nèi)存使用?
鴻蒙5開(kāi)發(fā)寶藏案例分享---長(zhǎng)列表性能優(yōu)化解析
鴻蒙5開(kāi)發(fā)寶藏案例分享---內(nèi)存優(yōu)化實(shí)戰(zhàn)指南
鴻蒙5開(kāi)發(fā)寶藏案例分享---Web加載時(shí)延優(yōu)化解析
HarmonyOS優(yōu)化應(yīng)用內(nèi)存占用問(wèn)題性能優(yōu)化四
HarmonyOS優(yōu)化應(yīng)用內(nèi)存占用問(wèn)題性能優(yōu)化一
讓性能飆升!使用Python并行計(jì)算榨干樹(shù)莓派算力!
讓Python快5倍最新計(jì)劃:優(yōu)化解釋器和內(nèi)存管理
評(píng)論