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

Python之父:明年讓Python快2倍

開發 后端
5月中旬剛剛結束的Pycon US 2021上,Python之父Guido van Rossum提出要在未來四年內將CPython速度提升5倍。

 5月中旬剛剛結束的Pycon US 2021上,Python之父Guido van Rossum提出要在未來四年內將CPython速度提升5倍。

而這一“Shannon計劃”的參與者除了Guido本人之外,還有任職微軟的CPython核心開發人員Eric Snow,以及Semmle的研究工程師Mark Shannon。

但在此之前,Guido可并不認為提升CPython的速度有多關鍵,因為“有其他方法可以獲得更好的性能”,比如JIT編譯的PyPy,或使用C語言編寫擴展。

為什么要加速?

Python真的慢嗎?

不見得,開發效率和執行速度本就難以兼得。

而且發展到今天,Python已經是一個膠水語言的定位,主要用來快速構建系統的邏輯控制流,再把對性能要求高的部分丟給C/C++來實現。

不過如果只看標準版的語言實現本身的話……它的性能確實不怎么樣。

[[404169]] 

動態語言的特性決定了Python會在C語言代碼運行(runtime)上花費大量的時間,且難以使用JIT(Just-In-Time)進行優化。

在接受英國技術新聞網站The Register的采訪時,對于“為什么開始關注CPython性能?”的問題,Shannon表示:

    過去幾年里,Python在機器學習領域的使用率大大提升,可用資源也越來越多。這意味著我們可以不用擔心破壞其可靠性,而是專注在性能上。

并且,Shannon之前參與的HotPy項目中所開發的解釋器,比目前CPython解釋器的純Python代碼快三倍。這證明了對CPython優化的可行性。

而在去年10月份的時候,耐不住退休寂寞的Guido又加入了微軟:

再加上疫情的家里蹲buff,擁有了更多時間的大佬們一拍即合,決定Make Python Great Again。

加速之前的挑戰

Shannon坦言,向下兼容是加速Python的最大挑戰。

其實不僅是對Python,90年代末libc的那次不兼容更新,直接導致所有應用程序都要重編……

而現在已經涼涼的Pyston,官方文章里提到的Dropbox放棄Pyston項目的幾大因素中,第一個也是:

這就是所有既試圖兼容CPython,又想大幅提升性能的Python都會遇到的嚴峻問題。

因為Python的執行類似于HTML渲染:更多是對運行時應如何執行C庫的描述,而非單步執行命令。

所以,Python性能提升的源頭來自于這些C擴展模塊。而CPython又有著超過400k的loc,這意味著要從底層去做優化是一項非常龐大的工程。

特別是對于過于動態的Python語言來說,語言的語義對優化的影響就更大了。

而現在加速的過程中,像是CPython的工具、調試器、配置文件,NumPy包,以及Cython這樣的編譯器,又會有多少涉及到CPython內部和底層的行為?

因此Shannon表示:

要改變是困難的……與CPython用戶間的隱形協議并沒有很好地定義什么能改,什么不能改。

可能是五年前從Python2.x遷移到3的痛苦經歷實在是有些刻骨銘心,Guido專門發推表示這次的遷移會更加平和。 

而他也在Python峰會中承諾:不破壞stable ABI兼容性;不破壞limited API兼容性;不破壞或減緩extreme cases。

“總之,代碼的可維護性才是第一要務。”

Python的5倍速之路

按照已在GitHub上發布的faster-cpython,Shannon計劃具體分為四個階段:

Python 3.10

預計在今年10月發布,主要添加一個自適應、專業化的解釋器(interpreter)。

 

解釋器將不再遇運行時生成代碼,而是利用程序中的類型穩定性,在執行過程中適應類型和數值。

Python 3.11

Guido提出要在3.11版本實現至少2倍的提速,為此,他已經和幾位Python開發人員提出了一份增強功能的提案PEP 659。

這一提案中表示要增加適應性的字節碼解釋器,并且實施更有效的異常處理。

除此之外,還提出了優化幀堆棧、改變函數調用的方式、增加優化以加快啟動時間,以及修改 .pyc 字節碼緩存文件格式等工作。

Python 3.12

這一階段使用針對小區域的JIT解釋器,在運行代碼時簡單、快速地對小區域的專門代碼進行編譯。

Python 3.13

同樣在代碼運行時對擴展區域進行編譯,增強編譯器,以完成5倍的超級加速。

Guido表示此次圍繞性能展開的 Python 變更,將主要服務于運行CPU密集型純Python代碼的開發者,以及內置Python網站的用戶。

而在C語言代碼(如 NumPy和TensorFlow)、I/O 綁定代碼、多線程代碼以及算法代碼上,提升效果將會比較有限。

微軟回饋Python

其實,微軟長期以來一直以多種方式為Python項目提供助力,包括在Azure云AI服務教程里發布免費的Python課程,以及通過VS Code Python擴展在Win10及以上版本支持Python。

自 2006 年起,微軟還成為了Python軟件基金會(PSF)的贊助商,并在今年出資15 萬美元進行資助。

目前已有五位Python開發者社區的核心人員在微軟任職,包括去年年底加入的Python之父,和這次Shannon計劃里的三人之一Eric Snow。

Guido也在這次峰會里特地cue了一下微軟,提出微軟資助了一支小型Python團隊“負責語言解釋層面的性能改進工作”,以使他能攜手微軟同事持續對Python進行開發。

當然,對于3.11版本的短期目標,Guido還是在ppt中給自己兜了個底。

△“樂觀一點,好奇一點總沒錯”

而對于那個四年五倍速的最終目標,Guido則表示“我們必須保持旺盛的創造力。” 

[[404171]]

 

責任編輯:龐桂玉 來源: 菜鳥學Python
相關推薦

2021-05-17 09:57:42

Python 開發編程語言

2021-09-08 08:00:00

PyPolars數據開源

2016-08-01 10:38:14

華為

2015-08-20 10:05:15

Python

2015-08-21 10:14:17

Python 之父Python

2022-10-27 07:09:34

DjangoAPIRedis

2020-01-07 10:14:38

Python程序員腳本語言

2021-07-25 22:43:39

Python代碼開發

2018-10-07 05:27:03

Python代碼機器學習

2020-07-22 08:30:02

代碼開發工具

2023-09-08 15:05:51

Mojo編程語言

2019-07-24 13:42:34

Python編程語言代碼

2021-02-07 23:08:29

Python開發Java

2019-10-31 15:13:11

Python

2022-10-27 08:31:31

架構

2023-05-15 07:20:24

2009-09-22 10:09:58

AHCIWindows 7加速

2013-09-03 10:20:10

SlashdotPythonPython之父采訪

2022-04-19 15:16:15

Python開發技巧

2009-07-01 09:47:10

FireFox 3.5瀏覽
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲综合日韩精品欧美综合区 | 在线a视频网站 | 免费黄色av网站 | 久久精品视频在线观看 | 麻豆视频在线免费看 | 日韩1区 | 国产精选一区 | 一本久久a久久精品亚洲 | 亚洲精品久久久久久久久久吃药 | 91精品国产综合久久婷婷香蕉 | 久久久精品一区二区三区 | 日本成人午夜影院 | 久久大陆 | 丝袜久久 | 久久精品视频一区二区三区 | 亚洲午夜精品视频 | 久久久www成人免费精品张筱雨 | 91视频三区| 黄色综合 | 色本道| 国产精品国产三级国产aⅴ无密码 | 日本不卡一区二区三区 | 国产伦精品一区二区三区在线 | 亚洲欧美网站 | 久久久久久国产一区二区三区 | 99精品久久| 国产精品福利在线观看 | av在线一区二区 | 日韩欧美国产精品 | xx性欧美肥妇精品久久久久久 | 国产一级片免费看 | 视频二区 | 国户精品久久久久久久久久久不卡 | 91毛片在线观看 | 欧美日韩久久 | 午夜视频在线观看网站 | 国产精品一区二区三区在线 | 欧美日韩精品久久久免费观看 | 久久婷婷色 | 精品亚洲一区二区三区 | www.久草.com |