創始人van Rossum想讓Python的速度提升一倍
30年前創建了流行的編程語言Python的Guido van Rossum概述了他的雄心壯志,要讓它的速度提高一倍–解決Python與C++等更快的語言相比的一個關鍵弱點。核心Python(CPython)的性能不足部分地解釋了為什麼Python傾向於數據科學和機器學習,其中許多工作負載被移交給GPU。
它在這些領域崛起的另一個原因是豐富的特定領域庫,從NumPy到谷歌支持的TensorFlow機器學習框架。
在本週的美國PyCon語言峰會上,van Rossum在微軟擁有的GitHub上發布了一份文件,詳細介紹了他使Python成為一種更快的語言的一些雄心,承諾在Python 3.11中使其速度翻倍–這是明年將出現的三個Python分支中的一個。
這位Python的創造者於11月被開源友好的微軟聘用,使他在Dropbox工作後從退休狀態中解脫出來,他幫助Dropbox處理了400萬行Python代碼。他說他”退休後坐在家裡很無聊”,他申請了微軟的職位。他現在在微軟擔任傑出工程師的特權職位。
他在微軟”獲得了挑選項目的自由”,並補充說他”選擇回到我的根源,這也是微軟回饋Python的方式,”van Rossum寫道。
微軟以各種方式支持Python,包括免費的Python課程,作為其Azure雲人工智能服務的入門課程,通過其VS Code Python擴展支持,以及Windows 10上的Python。自2006年以來,它還一直是Python軟件基金會(PSF)的讚助商,並在今年為其提供了15萬美元的讚助。
據van Rossum說,微軟已經資助了一個小型Python團隊,以”負責解釋語言的性能改進”。
微軟目前有五個核心開發人員為CPython的開發做出貢獻,包括Brett Cannon、Steve Dower、Guido van Rossum、Eric Snow和Barry Warsaw–他們都是Python核心開發人員社區的老手。
正如微軟在4月份指出的那樣,Snow一直在研究通過子解釋器實現Python的多線程性能。Dower擔任構建經理,從3.5版Python開始,他就是Windows版CPython的專家。Warsaw為Python指導委員會、Python安全響應小組和Python發布經理名單做出了貢獻。
隨著最近的軟件供應鏈攻擊成為焦點,微軟也在關注主要軟件包庫PyPI(Python Package Index)的安全問題。
“作為我們對PSF的15萬美元財務贊助的一部分,我們將把資金集中到打包工作組,以幫助進一步改善PyPI和打包生態系統的開發成本,”微軟Python和AI工具的主要經理Dan Taylor說。”隨著最近披露的安全漏洞,可信的供應鏈對我們和Python社區來說是一個關鍵問題,我們很高興能幫助為長期改進作出貢獻。”
同時,van Rossum指出,他和他的微軟同行與核心Python開發人員的貢獻是公開的,並專注於CPython的增量變化。對於Python開發人員來說,破壞性的變化是一個敏感的問題,他們在將代碼從Python 2.x轉移到Python 3時面臨著一個巨大的工作量,這預計需要超過十年的時間來完成。
他還談到了Python的解釋器及其C語言的應用二進制接口(ABI)和應用協議接口(API),據一些Python老手說,這阻礙了Python在瀏覽器中的創新。
“不要破壞穩定的ABI兼容性;不要破壞有限的API兼容性;不要破壞或減慢極端情況,”van Rossum承諾。”保持代碼的可維護性,”他補充說。但是,核心Python項目是否真的能夠提供兩倍於當前Python版本的速度?來自van Rossum的證據表明,他不希望為這樣一個雄心勃勃的項目負責。”我們遠遠不能確定我們會達到2倍!”他寫道。”但是很樂觀,很好奇”。
儘管如此,他還是指出”我們必須要有創造力”。
他說,即將到來的Python變化的主要受益者將是那些運行”CPU密集型純Python代碼”的程序員和基於Python運行的網站用戶。然而,對於已經用C語言編寫的代碼,如NumPy和TensorFlow、I/O綁定的代碼、多線程代碼和算法效率低下的代碼則不會有太大的好處。