成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python3.11推遲發布,原因竟然是……

原創 精選
開發
考慮到當前Python在編程語言界“如日中天”的地位,Python 3.11又志在克服其最大的缺點,Python的未來還是很值得期待的。

事件回顧 

就在不久前,Python核心開發者Pablo在郵件中宣布,由于一些重要的性能Bug和崩潰問題,預計在10月底發布的Python 3.11穩定版本可能要推遲到12月。

Image

圖片來源@郵件截圖

此事引來了不少人的關注。Python是當今最流行的編程語言之一,StackOverflow 2022 開發者報告顯示,對初學者而言,HTML/CSS、Javascript和Python幾乎并列為最常用的語言,而在TIOBE發布的2022年6月編程語言排行上,Python語言則排名第一,因而Python語言新版本的發布,通常很受關注。

自2008年12月3日Python3.0發布以來,Python官方計劃每年發布一個新版本,每次增加兩三種新語法。雖然實際情況并沒有嚴格按照計劃實現,但自3.8版本以后,Python的發版節奏基本有規律可循:在每個版本發布前,都有17個月的開發周期,在此期間要進行持續的開發測試;測試期間,首先會發布alpha版本,等到4月份再發布beta版本,直到10月左右,發布最終的正式版本。Python 3歷次版本發布時間

Image

本來,計劃今年發布的3.11版本也是按照這個節奏進行,但這次,3.11版本的發布會成為一個例外。值得一提的是,在郵件的最后,Pablo對能否在12月發布穩定版本也沒有信心。

Image

圖片來源@郵件截圖

Python 3.11期待已久

雖然Python簡單易學,但其運行速度之慢歷來被詬?。ㄔ诿看蔚木幊陶Z言速度競賽中,Python的名次通常都墊底),因而很多開發者期待這門語言的性能有所提升。

也許正是這個原因,Python創始人Guido van Rossum重新出山后,在2021年Python語言峰會上作了一場《Making CPython Faster》的分享,他表示,自己已經投入了“香農計劃”(“Shannon Plan”,得名于提出者Mark Shannon),期望花4年時間把Python提速5倍,即每年1.5倍,其中近期計劃是在Python 3.11 版本中實現至少提速1倍。

根據7月6日發布的Python 3.11.0b3來看,在Ubuntu Linux上使用GCC編譯,且使用pyperformance基準套件測量時,CPython 3.11比CPython 3.10平均快25%。根據工作負載的不同,CPython 3.11的提速介于10% 到 60% 之間。

Image

圖片來源@文檔截圖

此外,由于Python3.11是一個較大版本更新,根據已有的測試結果看,其在更精確的錯誤提示、類型特性、用except*處理多個異常、Zero-cost異常、改進類型(包括改進類型、任意的字符串字面類型、數據類轉換、標準庫中的 TOML 只讀支持等)也有改進,這些也是開發者比較期待的新功能。

如何給Python“踩踩油門” 

此前Python為何會給大家留下運行速度慢的印象呢?通常有三種解釋。

第一種解釋為Python是動態性語言不是靜態性語言。

對C等靜態語言來說,編譯器在聲明變量的時候就知道其類型了;而對Python來說,Python程序在執行的時候,編譯器不知道變量的類型,只知道它是一個對象。這意味著,即使是a+b這樣的簡單二元運算,由于變量a和b本身都沒有類型,而它們的值有類型,Python執行起來也很“麻煩”:在相“加”之前,必須先判斷類型。

第二種解釋是Python是解釋性語言而不是編譯性語言。

像C、C++、Rust這些語言是直接編譯成機器碼運行,是編譯型語言;Python的運行過程是虛擬機讀入Python代碼(文本),詞法分析,編譯成虛擬機認識的opcode,然后虛擬機解釋opcode執行,而最后這一步“虛擬機解釋opcode執行”是比較費時間的。

第三種解釋認為,是全局解釋器鎖(GIL,Global Interpreter Lock)的原因。

現代計算機處理器一般都會有多核,甚至有些服務器有多個處理器。所以操作系統抽象出 Thread,可以在一個進程中spawn出多個Thread,讓這些Thread在多個核上面同時運行,發揮處理器的最大效率。

而Python自帶垃圾回收程序,且選擇的實現垃圾回收機制是引用計數+分代回收,并以引用計數為主。在多線程情況下,大家一起運行,引用計數多個線程一起操作,為保證不發生線程不安全的事情,多個線程操作同一個對象需要加鎖。這就是GIL,只不過這個鎖的粒度太大了,整個Python解釋器全局只有一個Thread可以運行。

換句話說,無論電腦CPU有多少核,對Python來說,它只用一個核。這三種解釋都有一定道理,理論上Python提速可以從以上三個方向進行突破。從最近Python團隊公布的情況看,Python 3.11 的性能改進主要集中在更快的啟動和更快的運行時,這些優化大部分來自于PEP 659(一種自適應解釋器),它運作思路跟JIT有點相似,都是識別熱點代碼,但自適應解釋器的工作范圍無法脫離字節碼。

Image

圖片來源@文檔截圖

3.11為何會推遲發布 

從Pablo在郵件中公布的信息看,Python 3.11推遲發布主要是由于出現很多“影響發布”的bug。

Image

圖片來源@GitHub截圖

雖然bug的細節還有待進一步發掘,但根據現有情況猜測,問題可能在以下的兩方面。

一是C擴展的問題。CPython與C的簡單接口是主要優勢,而與C擴展的不兼容性則是一大槽點。CPython團隊在CPython 3.11中所做的優化工作在很大程度上忽略了擴展模塊的問題,對此,團隊領導者香農表示,團隊正在開辟將低級函數API暴露給虛擬機的可能性,以盡可能地減少Python代碼和C代碼。

二是前面反復提到的提速問題。Python創始人Guido van Rossum預期Python 3.11版本中實現至少提速1倍,而目前Python 3.11.0b3比Python 3.10平均只快了25%,跟理想目標還有不小的差距。

另外,Meta開發人員Sam Gross在今年的Python語言峰會上,向與會者介紹了nogil的情況,這是一個專注于移除GIL的項目,據Python基金會介紹,Gross 將發明一種新型鎖,如果順利的話,這個新鎖很可能在Python 3.12版本亮相。

Sam Gross的提案雖然讓很多開發者興奮,但與Python團隊的現在工作基于PEP 659進行優化的工作會產生沖突:畢竟CPython團隊已實施的優化,很大一部分都基于GIL仍存在的前提。如果采用Sam Gross的提案,在Python 3.12去除GIL,那么Python 3.11就要做出不小的改動,也許,這也是導致Python 3.11延期的重要原因。

總之,考慮到當前Python在編程語言界“如日中天”的地位,Python 3.11又志在克服其最大的缺點,Python的未來還是很值得期待的。

參考鏈接:

https://mail.python.org/archives/list/python-dev@python.org/thread/3JWVCSBPBFWY5ZWSJ7RYB6FS5NIMCEOY/

https://docs.python.org/zh-cn/3.11/whatsnew/3.11.html#faster-cpython

責任編輯:閆懷德 來源: 51CTO
相關推薦

2024-09-27 11:38:49

2016-10-25 21:00:27

云計算

2022-06-02 07:13:12

Python3.11編程語言

2022-08-02 18:39:19

linux

2020-09-29 06:45:49

JDK

2022-07-06 09:25:28

Python性能 Bug開發者

2022-06-06 08:36:02

多租戶模式RabbitMQ

2018-06-23 13:49:56

蘋果谷歌手機

2015-06-18 11:04:58

2020-12-15 08:05:40

路由器服務器網絡層

2021-07-28 06:51:08

Nacos代理模式

2024-08-05 01:28:26

2021-08-28 10:15:26

項目結構Flask

2021-10-18 13:42:52

加密貨幣金融工具

2024-06-17 00:04:00

JavaScriptWebRust開發

2025-06-27 02:11:00

2018-07-06 00:09:47

2023-03-13 08:09:03

Protobuffeature分割

2022-11-09 10:03:39

UbuntuLinux

2023-07-25 16:14:51

Python技巧
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99精品在线 | 国产日韩欧美精品 | 日韩一区二区免费视频 | 日本不卡免费新一二三区 | 国产成人综合在线 | 最新免费av网站 | 免费观看a级毛片在线播放 黄网站免费入口 | 欧美一级黑人aaaaaaa做受 | 精品国产免费一区二区三区演员表 | 人人爽人人草 | 国产精品精品久久久久久 | 国产超碰人人爽人人做人人爱 | 超碰av在线 | 欧美黄 片免费观看 | 久久免费看 | 福利成人 | 成人高清在线视频 | 久热爱 | 俺去俺来也www色官网cms | 国产电影一区二区 | 91精品国产综合久久精品 | 色约约视频 | 在线观看av网站永久 | av网站免费观看 | 一区中文字幕 | 成人在线国产 | 夜夜夜久久久 | 亚洲婷婷六月天 | 免费一区 | 日韩欧美不卡 | 国产精品视频一 | 免费精品 | 五月婷六月丁香 | 一区二区av| 日韩欧美三级 | 成人三级视频在线观看 | 精品欧美一区二区三区久久久 | 成人精品视频在线观看 | 久久久久亚洲精品中文字幕 | 国产成人精品免高潮在线观看 | 精品在线免费看 |