Python 之父匯報進(jìn)展:CPython 3.11 比 3.10 快 25%Python貓關(guān)注共 1598字,需瀏覽 4分鐘 ·2022-05-20 20:09 文 | 羅奇奇出品 | OSC開源社區(qū)(ID:oschina2013)在退休又復(fù)出加入微軟的 Faster CPython 團(tuán)隊后, Python 之父 Guido van Rossum 在 2021 年 Python 語言峰會上放下狠話,稱團(tuán)隊將在 Python 3.11 版本中實現(xiàn)至少提速 1 倍的進(jìn)展。(查看去年詳情:Python 之父爆料:明年至少令 Python 提速 1 倍!)而在今年的 Python 語言峰會上,Guido 和團(tuán)隊搭檔 Mark Shannon 匯報了最新的進(jìn)展:對比 3.10 版本,CPython 3.11 的提速在?10 - 60% 之間,具體速度取決于代碼規(guī)模和工作領(lǐng)域等條件。當(dāng)使用 pyperformance 基準(zhǔn)套件測量在 Ubuntu Linux 上使用 GCC 編譯時, CPython 3.11 平均比 CPython 3.10?快 25% 。CPython 3.11 的性能改進(jìn)主要集中在更快的啟動和更快的運行時,這些優(yōu)化大部分來自于?PEP 659??:自適應(yīng)解釋器,它運作思路跟 JIT 有點相似,都是識別熱點代碼,但自適應(yīng)解釋器的工作范圍無法脫離字節(jié)碼。目前 PEP 659 提案的工作基本完成,但 for 循環(huán)和二進(jìn)制操作的動態(tài)優(yōu)化仍有待完成。在提速 25% 的同時,Python 3.11 仍有一些需要改善的地方,比如 Python 在 3.11 中的內(nèi)存消耗與 3.10 中的基本相同。此外還需關(guān)注 C 擴(kuò)展的問題:CPython 與 C 的簡單接口是主要優(yōu)勢,而與 C 擴(kuò)展的不兼容性則是一大槽點。而 Faster CPython 團(tuán)隊在 CPython 3.11 中所做的優(yōu)化工作在很大程度上忽略了擴(kuò)展模塊的問題,對此,團(tuán)隊領(lǐng)導(dǎo)者 Shannon 表示,團(tuán)隊正在開辟將低級函數(shù) API 暴露給虛擬機(jī)的可能性,以盡可能地減少 Python 代碼和 C 代碼。至于飽受期待的?JIT 編譯器,Shannon 表示實現(xiàn) JIT 的第一步是實現(xiàn)一個跟蹤解釋器,但目前還有太多需要關(guān)注的項目,引入 JIT 編譯器的工作還有一段路要走,“最早可能要到 3.13 才能到達(dá)”。(順便說一下,Shannon 一直對 CPython 是否真的需要引入 JIT 持懷疑態(tài)度。)有意思的是,昨天我們報道了開發(fā)者 Sam Gross 的新提案:完全移除 CPython 解釋器的?GIL-?全局解釋器鎖?。這個提案和 Faster CPython 團(tuán)隊的工作將以截然不同的方式加速多線程 Python 代碼,但兩者又可能產(chǎn)生一些沖突,畢竟 Faster CPython 已實施的優(yōu)化,很大一部分都基于 GIL 仍存在的前提。注:在去年的核心開發(fā)者 sprint 會議上,核心開發(fā)者們跟 Sam Gross 對 nogil 項目做了一次深入研討,回答了大家較為關(guān)注的諸多問題。具體的會議紀(jì)要,可查看這篇文章——Python 官方研討會:徹底移除 GIL 真的可行么?Python貓技術(shù)交流群開放啦!群里既有國內(nèi)一二線大廠在職員工,也有國內(nèi)外高校在讀學(xué)生,既有十多年碼齡的編程老鳥,也有中小學(xué)剛剛?cè)腴T的新人,學(xué)習(xí)氛圍良好!想入群的同學(xué),請在公號內(nèi)回復(fù)『交流群』,獲取貓哥的微信(謝絕廣告黨,非誠勿擾!)~還不過癮?試試它們▲與 Python 之父聊天:更快的 Python!▲Python 之父為什么嫌棄 lambda 匿名函數(shù)?▲CPython 有 GIL 是因為當(dāng)年設(shè)計的人偷懶嗎?▲Python 面向切面編程 AOP 和裝飾器▲Python 實現(xiàn)循環(huán)的最快方式(for、while 等速度對比)▲Python 官方研討會:徹底移除 GIL 真的可行么?如果你覺得本文有幫助請慷慨分享和點贊,感謝啦! 瀏覽 96點贊 評論 收藏 分享 手機(jī)掃一掃分享分享 舉報 評論圖片表情視頻評價全部評論推薦 Python 3.11比3.10 快60%Python大數(shù)據(jù)分析0【Python】提速25%!CPython 3.11 來了機(jī)器學(xué)習(xí)初學(xué)者0Python 3.11 快 45%!編程幫0Python 3.11正式版來了,比3.10快10-60%,官方:這或許是最好的版本裸睡的豬0Python 3.11比3.10 快60%:使用冒泡排序和遞歸函數(shù)對比測試數(shù)據(jù)派THU0Python之父:明年讓Python快2倍Python大數(shù)據(jù)分析0Python之父:明年讓Python快2倍視學(xué)算法0快 45%,Python 3.11 性能表現(xiàn)優(yōu)異數(shù)據(jù)分析14800Python之父:明年讓Python快2倍Python網(wǎng)絡(luò)爬蟲與數(shù)據(jù)挖掘0Python之父:明年讓Python快2倍俊紅的數(shù)據(jù)分析之路0點贊 評論 收藏 分享 手機(jī)掃一掃分享分享 舉報