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

炸裂!讓Python和C一樣快,MIT推出新編譯器,訓練大數據集可提速5-10倍

人工智能
Codon平臺還有一個并行后端,可以讓用戶編寫可以明確編譯為 GPU 或多核并行的Python 代碼,而這些任務傳統上需要一定的編程專業知識。

?大數據文摘出品

Python太慢了!

除了這個缺點,Python可以說是有無數個優點,但就是這個缺點,讓無數程序員吐槽不已。

現在,麻省理工學院計算機科學與人工智能實驗室(CSAIL)的研究人員希望通過一個新的編譯器來改變這種狀況——Codon。

Codon 是一個新的基于 Python 的編譯器,能讓用戶編寫的 Python 代碼,運行效率與 C 或 C++ 程序相當。

這很香了。

裝上了渦輪增壓的 Python

Python 的主要優勢在于語法簡單易學,這樣許多非專業程序員也能體會到編碼帶來的樂趣。

“我們意識到,人們不一定想學習一門新語言或一種新工具,尤其是那些非技術人員。所以我們想,讓我們把 Python 語法、語義和庫合并到一個從頭開始構建的新系統中。”Ariya Shajii  Codon 的新論文的主要作者。

這篇論文被發表在了第32屆 ACM SIGPLAN 編譯器構造國際會議上。

圖片

論文地址:https://dl.acm.org/doi/abs/10.1145/3578360.3580275

不像 C 和 C + + 這樣的語言都帶有一個編譯器來優化生成的代碼以提高性能,Python 是一個直譯語言。為了讓 Python 變得更快,人們付出了很多努力,研究小組說,這種方法通常采用“自上向下的方法”,即采用普通的 Python 實現,并結合各種優化或“即時”編譯技術(一種在執行過程中編譯對性能至關重要的代碼片段的方法)。這些方法擅長于保持向后兼容性,但是這種方法也極大地限制了可以獲得的加速種類。

Codon 則采取了更多的自下而上的方法,從頭開始實施所有的東西,雖然有一些限制,但是更加靈活。

例如,Codon 雖然不能支持某些動態特性,但是可以使用優化和其他靜態編譯技術,這些技術從標準的 Python 優化流程開始就無法實現。

之前都沒人做,難點在哪?

第一個難點就在于運行前的類型檢查。

編譯器執行的第一個關鍵步驟之一稱為“類型檢查”,即在程序中計算每個變量或函數的不同數據類型的過程。例如,一些可以是整數,一些可以是字符串,還有一些可以是浮點數ーー這是常規 Python 不會去做的。在普通的 Python 中,在運行程序時必須處理所有這些信息,這是使其運行速度如此之慢的因素之一。

Codon 的的解決方法在于,在運行程序之前進行類型檢查。這允許編譯器將代碼轉換為本機代碼,從而避免了 Python 在運行時處理數據類型的所有消耗。

第二個難點在于編譯器中的優化。

舉個例子,如何使用插件實現一組特定于該某計算領域的優化?比如使用涉及到使用基因組序列和其他生物學數據的基因組學庫。

Codon 的方法是生成一個可執行文件——讓其以 C 或 C + + 的速度運行,甚至一旦應用了特定于領域的優化,運行速度甚至更快。

Codon 目前涵蓋了 Python 的一個相當大的子集,不過它仍然需要合并幾個動態特性,并擴大其 Python 庫的覆蓋范圍。Codon 團隊正在努力進一步縮小與 Python 的差距,并期待在未來幾個月內發布幾個新特性。Codon 目前在 GitHub 上公開可用。

GitHub:https://github.com/exaloop/codon

圖片

研究小組對密碼頓進行了嚴格的測試,結果證明它超出了預期。

具體來說,他們采用了大約10個用 Python 編寫的常用基因組學應用程序,并使用 Codon 編譯它們,實現了比原始手工優化實現快5到10倍的速度。

圖片

除了基因組學,他們還探索了定量金融的應用,定量金融同樣也需要也處理大數據集,并大量使用 Python,效果也非常顯著。

同時,Codon平臺還有一個并行后端,可以讓用戶編寫可以明確編譯為 GPU 或多核并行的Python 代碼,而這些任務傳統上需要一定的編程專業知識。

相關報道:

https://www.csail.mit.edu/news/python-based-compiler-achieves-orders-magnitude-speedups

https://dl.acm.org/doi/abs/10.1145/3578360.3580275

https://spectrum.ieee.org/python-compiler

責任編輯:武曉燕 來源: 大數據文摘
相關推薦

2023-04-03 14:25:01

Python編譯

2023-05-04 15:32:51

編程開發

2016-10-08 16:02:37

WIFIMegaMIMO系統

2013-09-24 09:40:41

Java圖形加速

2010-01-14 14:55:14

C++編譯器

2020-01-13 09:39:52

工具代碼開發

2023-07-31 07:33:04

Rust編譯器內存

2024-05-11 09:38:05

React編譯器React 19

2012-04-05 09:13:17

C代碼

2009-07-29 16:44:45

AndroidSimpleGoogle

2021-02-21 15:47:47

機器學習人工智能計算機

2021-06-07 11:40:26

Python命令代碼

2013-08-22 10:17:51

Google大數據業務價值

2009-08-10 17:12:54

C#編譯器

2020-11-12 08:30:38

Java微服務Go

2022-08-01 11:15:26

MIT材料

2013-02-28 10:35:59

hadoop大數據Hortonworks

2016-03-21 10:16:06

RedisSpark大數據處理

2021-12-30 09:00:00

區塊鏈以太坊NFT

2010-01-21 09:11:38

C++編譯器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品国产亚洲 | 国产精品成人国产乱一区 | 91精品国产综合久久福利软件 | 亚洲男人网 | 久久精品91久久久久久再现 | 一区二区三区视频在线免费观看 | 国产亚洲久 | 黄色成人在线网站 | 99精品欧美一区二区三区 | 人人玩人人干 | 欧美一级在线免费 | 欧美三级成人理伦 | 欧美aaa级| 亚洲国产福利视频 | 国产一级片精品 | av网站在线看| 欧美日韩国产三级 | 91精品国产美女在线观看 | 日韩在线成人 | 黄网站在线观看 | 成年人免费网站 | 亚洲三区在线播放 | 精品一区二区三区四区视频 | 中文字幕精品一区二区三区精品 | 日韩av在线播| 一区二区三区回区在观看免费视频 | 国产高清在线观看 | 99综合| 男女搞网站 | 欧美国产视频 | 成人在线视频一区 | 久久久青草婷婷精品综合日韩 | 国产91一区 | 精品久久久久久亚洲综合网 | 欧洲亚洲一区二区三区 | 免费在线性爱视频 | 欧美一级在线观看 | 成人免费大片黄在线播放 | 国产在线一区二区三区 | 久久精品免费一区二区三 | 久久久精 |