神器!微軟發(fā)布 Python 的 JIT 編譯器:Pyjion!

用于 Python 3.10 及以上版本的嵌入式 JIT 編譯器?Pyjion?已發(fā)布 1.0 版本。
Pyjion 擁有以下特性:
配置文件引導(dǎo)的 JIT 編譯器
原生 64 位浮點(diǎn)數(shù)和整數(shù)支持
小而快的編譯器
支持 Windows、macOS 和 Linux
支持 Intel 和 ARM CPU
內(nèi)置 IL 和 ASM 反匯編器
支持本機(jī)調(diào)試和分析工具
Pyjion 是由 Python 軟件基金會(huì)研究員和微軟研究員 Anthony Shaw ?合作開(kāi)發(fā)的一種用于 Python 的即時(shí) (JIT)?編譯系統(tǒng),它不是像 PyPy 那樣的獨(dú)立 runtime,而是在 CPython 3.10 下運(yùn)行的可安裝庫(kù)。
安裝后,只需導(dǎo)入 Pyjion 庫(kù)并啟用,即可在程序中使用:導(dǎo)入后運(yùn)行的所有內(nèi)容都屬于 JIT 編譯。
項(xiàng)目地址:https://www.trypyjion.com

Pyjion 的工作原理是通過(guò) .NET EE 編譯器將 Python 虛擬機(jī)操作碼編譯成匯編語(yǔ)言,基準(zhǔn)測(cè)試表明:在實(shí)際工作中,Pyjion 比常規(guī) Python 快兩到三倍,部分優(yōu)化允許加速10倍,常規(guī)算術(shù)的速度可以快一個(gè)數(shù)量級(jí)。
Pyjion 包含一個(gè)中間件層,允許 WSGI 應(yīng)用程序在 Pyjion 下運(yùn)行,因此像 web 應(yīng)用這種長(zhǎng)時(shí)間運(yùn)行的應(yīng)用程序非常適合 JIT 加速。
目前,有一些 Python 特性還不能在 Pyjion 中實(shí)現(xiàn),比如 block 和 async/await,不過(guò)這些特性都已經(jīng)在 Pyjion 的路線圖中。
由于各種各樣的原因,讓 Python 變得更快非常困難。大多數(shù)提高 Python 速度的方法仍然依賴于 Python C API 來(lái)實(shí)現(xiàn)兼容性,性能也會(huì)受到限制。
Pyjion 也不例外,它仍然依賴 Python C API,但 ?Pyjion 的優(yōu)化計(jì)劃(例如,優(yōu)化對(duì)數(shù)組類(lèi)型的訪問(wèn))表明,它的開(kāi)發(fā)人員已經(jīng)在思考如何處理這些問(wèn)題。
Pyjion 1.0 依賴項(xiàng):
CPython 3.10 :https://www.python.org/downloads/release/python-3100 .NET 6 :https://dotnet.microsoft.com/download/dotnet/6.0


各位伙伴們好,詹帥本帥搭建了一個(gè)個(gè)人博客和小程序,匯集各種干貨和資源,也方便大家閱讀,感興趣的小伙伴請(qǐng)移步小程序體驗(yàn)一下哦!(歡迎提建議)
推薦閱讀
牛逼!Python常用數(shù)據(jù)類(lèi)型的基本操作(長(zhǎng)文系列第①篇)
牛逼!Python的判斷、循環(huán)和各種表達(dá)式(長(zhǎng)文系列第②篇)
推薦閱讀
牛逼!Python常用數(shù)據(jù)類(lèi)型的基本操作(長(zhǎng)文系列第①篇)
牛逼!Python的判斷、循環(huán)和各種表達(dá)式(長(zhǎng)文系列第②篇)
