Python速度編譯神器快來體驗吧
Python速度編譯神器
Python的運行速度快嗎?雖說不同場景不同定論, 但整體而言
, 它沒有C、Java快。這也導致Python憑借可讀性、簡單易
上手、良好的生態系統橫行AI領域時,一提到速度,就成為眾
多開發者頭疼的問題。
為了解決這一難題,麻省理工學院的計算機科學家出手了,他
們共同研發了一種名為Codon的Python編譯器, 可以將
Python代碼轉化為本地機器代碼, 而不會對運行時的性能產生
影響。
當前, Codon已經在Git Hub上開源:https:
//github.com/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
已經被商業化地應用在金融和生物信息學、深度學習等領域。
❷ python scratch區別
區別如下:
Scratch是圖形化編程,使用卡通積木塊堆疊完成編程,可以不熟悉鍵盤就能編程,好處是Scratch把所有底層細節都屏蔽掉了,讓編寫者專注於功能代碼的開發,怎麼寫都不報錯。
Python是一門真正的編程語言,應用領域廣泛,使用英文代碼進行編程,使用者需要有良好的英文水平,對鍵盤比較熟悉。
Scratch是麻省理工學院的「終身幼兒園團隊」開發的一種圖形化編程工具,主要面對全球青少年開放,是圖形化編程工具當中最廣為人知的一種形式。
截止到2021年已有1.4版、2.0版本(增加克隆積木,視頻偵測,Lego拓展積木)、3.0版本(增加文字朗讀、翻譯和Makey makey等選擇性下載擴展積木,並增加micro:bit和Lego mindstorms EV3拓展積木)、3.12.0版本、3.18.1版本、3.19.2版本、3.4版本、3.6版本、3.9版本。所有人都可以在任意版本中創作自己的程序。