Python速度編譯神器快來體驗吧
Python速度編譯神器
Python的運行速度快嗎?雖說不同場景不同定論, 但整體而言
, 它沒有C、Java快。這也導致Python憑借可讀性、簡單易
上手、良好的生態系統橫行AI領域時,壹提到速度,就成為眾
多開發者頭疼的問題。
為了解決這壹難題,麻省理工學院的計算機科學家出手了,他
們***同研發了壹種名為Codon的Python編譯器, 可以將
Python代碼轉化為本地機器代碼, 而不會對運行時的性能產生
影響。
當前, Codon已經在Git Hub上開源:/exaloop/codon, 斬獲6300個Star。
1、Codon與C/C++性能相當
"在單線程上, 比Python的典型速度提高了10-100倍或更多,
"Codon repo寫道, "Codon的性能通常與C/C++的性能相當
(有時甚至更好)。"
codon
與Python不同的是, Codon支持本地多線程, 這可以使速度
提高許多倍。
Codon最初是作為壹個在Python中創建高性能特定領域語言
(DSL, domain-specific language) 的框架而開發的。DSL
是專註於特定目的的語言, 而不是像Python或C這樣的通用
編程語言。
據官方Git Hub repo透露, Codon源於Seq項目, 後者是壹個
用於生物信息學和遺傳學的DSL, 現如今它已經成長為壹個與
Python 3基本兼容的語言編譯器。
近期, 外媒The Register通過該工具的研究團隊內部最新分享
了壹個關於Codon的論文。
這篇論文指出, "與其他面向性能的Python實現(如PyPy或
Numba) 不同, Codon是作為壹個獨立的系統從頭開始構建的
, 它可以提前編譯為靜態可執行文件, 並且不與現有的Python
運行時(如CPython或RPython) 綁定執行。因此, Codon
可以實現更好的性能,並克服運行時的特定問題,如全局解釋
器鎖"。
2、測試
那麽Codon是否真的如說的那樣快?在Codon論壇上, 壹位
開發者進行了測試:
CPython 3.11
PyPy 7.3.9
Codon compiled
Codon with python interpreter
最終發現, 壹個簡單的Codon編譯的斐波那契腳本比CPython
版本快70多倍。
據Codon官方文檔顯示, 雖然Codon的語法和語義與Python
的幾乎相同,但還是有壹些值得壹提的區別,如數據類型方面
整數。Codon的int是壹個64位有符號的整數, 而Python
的(在版本3之後) 可以是任意大的。然而Codon通過Int[N]
支持更大的整數,其中N是位寬。
字符串。Codon目前使用ASCII字符串, 與Python的
unicode字符串不同。
字典。Codon的字典類型不保留插入順序, 與Python 3.6的
不同。
此外, Codon和Python在類型檢查、數值運算、模塊等維度
還有些許的不同, 更詳細的內容可參考:https:
//docs.exaloop.io/codon/general/differences據悉, Codon
已經被商業化地應用在金融和生物信息學、深度學習等領域。