偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

谷歌發(fā)布新項目,旨在將Python代碼編譯為Go

譯文
新聞
盡管Grumpy需要通過Go工具鏈將Python代碼轉(zhuǎn)換為靜態(tài)二進制文件,但這并不會給其運行速度帶來多少影響。畢竟已經(jīng)存在眾多將Python編譯為二進制形式的項目,考慮到Python本身的動態(tài)類型系統(tǒng)特性,其很難通過這種方式實現(xiàn)提速。

  【51CTO.com快譯】Python很可能遭遇另一位強勁的編程語言對手:谷歌Go。

  作為一項實驗性項目,谷歌公司的Grumpy能夠?qū)ython代碼轉(zhuǎn)換為Go形式,這意味著Python程序?qū)⒛軌蛟诰幾g后利用Go工具鏈作為靜態(tài)二進制文件運行。其對Python的轉(zhuǎn)換相當(dāng)于創(chuàng)建了一款Go應(yīng)用。

  在一篇開源發(fā)布博文中,谷歌公司指出,該項目能夠加快其Python開發(fā)型YouTube前端的升級工作。谷歌公司在此前的工作也遇到了Python用戶的普遍困擾:很難利用CPython——以C語言編寫的默認(rèn)Python解釋器——進行有效擴展。

  谷歌公司表示,“我們認(rèn)為Grumpy擁有遠(yuǎn)超CPython的實際工作負(fù)載擴展?jié)摿Α?rdquo;

  以小失換大得

  盡管Grumpy需要通過Go工具鏈將Python代碼轉(zhuǎn)換為靜態(tài)二進制文件,但這并不會給其運行速度帶來多少影響。畢竟已經(jīng)存在眾多將Python編譯為二進制形式的項目,考慮到Python本身的動態(tài)類型系統(tǒng)特性,其很難通過這種方式實現(xiàn)提速。舉例來說,Cython只有在開發(fā)者提供靜態(tài)C類型信息時才能實現(xiàn)加速。

  根據(jù)谷歌的說法,Grumpy能夠通過消除部分CPython遺留負(fù)擔(dān)加速Python代碼。其中提速效果最明顯的是刻意舍棄對C擴展模塊的支持以換取速度提升。目前存在著大量使用C擴展模塊的資源庫,其中相當(dāng)一部分來自Python標(biāo)準(zhǔn)庫(例如用于同C代碼對接的ctypes)。

  由于不再支持C擴展,Grumpy并不具備CPython的全局解釋器鎖(Global Interpreter Lock),而這通常被視為順利實現(xiàn)Python并發(fā)負(fù)載運行的***障礙。Grumpy還將使用Go的垃圾回收機制進行內(nèi)存管理,而不再沿用CPython的類似機制。

  Grumpy允許導(dǎo)入Go軟件包并配合與Go模塊同樣的語法加以使用,從而在Python與GO之間建立起緊密的互操作性。這不禁讓人聯(lián)想到pythonnet項目,其允許Python與.Net程序集實現(xiàn)互操作性。

  缺失部分

  Go及其工具鏈目前已經(jīng)被眾多第三方用于開發(fā)新型語言。其中Have項目利用Go作為轉(zhuǎn)換目標(biāo),而Oden項目則利用Go工具鏈在Haskell或者Lisp當(dāng)中創(chuàng)建一種新的函數(shù)性語言。Oden項目已經(jīng)于去年年底停止開發(fā),不過Have項目則仍在積極推進當(dāng)中。

  利用Grumpy,Go的工具鏈將有助于幫助龐大的Python用戶社區(qū)解決諸多現(xiàn)實難題。雖然谷歌公司的實際使用效果應(yīng)該更好,畢竟Grumpy是專門針對其需求打造的項目,但我們也相信廣泛Python社區(qū)同樣將借此解除或者應(yīng)對諸多既有障礙。不過,這一切都要視Grumpy項目的實際發(fā)展?fàn)顩r而定。

  舉例來說,Grumpy僅支持Python的早期Python 2.x語法,另外亦有眾多標(biāo)準(zhǔn)庫未完成移植,exec或eval這樣的函數(shù)也尚無法正常使用。

  而最重要的缺失部分并非對C擴展本身的支持,而是依賴于C擴展的各類資源庫。失去了C擴展,意味著只有最為普通的Python腳本才能編譯并運行在Grumpy的當(dāng)前互操作機制之下。雖然谷歌方面也可以利用Go語言編寫出相關(guān)替代方案,但其中某些大型Python庫——例如NumPy——將完全不可用,而此類庫正是Python整體生態(tài)系統(tǒng)中的重要組成部分。

  原文標(biāo)題:Google boosts Python by turning it into Go

  原文作者:Serdar Yegulalp

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】 

 

   了解更多熱點新聞,請關(guān)注51CTO《科技新聞早報》欄目!

責(zé)任編輯:張誠 來源: 51CTO
相關(guān)推薦

2011-04-30 16:18:49

AndroidGoogle TV智能電視

2012-03-15 14:25:22

Go

2023-10-27 10:16:17

前端項目Rust

2014-06-23 09:49:32

Go語言Android谷歌

2012-03-30 14:15:50

GoogleGo

2019-12-06 13:59:37

代碼開發(fā)Python

2019-10-14 08:00:00

Go語言編程語言開源項目

2011-10-21 09:24:13

谷歌Android 4.0源代碼

2009-12-11 10:00:30

谷歌Chrome插件庫

2012-09-21 10:30:58

谷歌iOS 6Google云地圖

2011-03-30 08:57:36

Android 3.1谷歌

2011-12-27 09:40:25

谷歌Android培訓(xùn)

2021-01-26 11:37:40

FedoraChrome谷歌

2023-08-10 08:38:57

Project IDFlutter谷歌

2009-12-08 17:56:51

2016-10-16 15:03:32

NetApp

2014-12-02 09:45:21

Android 5.0Google

2009-03-30 14:12:38

LinuxUnladenSwallow

2009-12-04 10:12:49

谷歌Chrome瀏覽器
點贊
收藏

51CTO技術(shù)棧公眾號