神器!微软发布 Python 的 JIT 编译器:Pyjion!
出品 | OSC開源社區(qū)
?用于 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 軟件基金會研究員和微軟研究員 Anthony Shaw ?合作開發(fā)的一種用于 Python 的即時 (JIT)?編譯系統(tǒng),它不是像 PyPy 那樣的獨(dú)立 runtime,而是在 CPython 3.10 下運(yùn)行的可安裝庫。
安裝后,只需導(dǎo)入 Pyjion 庫并啟用,即可在程序中使用:導(dǎo)入后運(yùn)行的所有內(nèi)容都屬于 JIT 編譯。
項(xiàng)目地址:https://www.trypyjion.com
Pyjion 的工作原理是通過 .NET EE 編譯器將 Python 虛擬機(jī)操作碼編譯成匯編語言,基準(zhǔn)測試表明:在實(shí)際工作中,Pyjion 比常規(guī) Python 快兩到三倍,部分優(yōu)化允許加速10倍,常規(guī)算術(shù)的速度可以快一個數(shù)量級。
Pyjion 包含一個中間件層,允許 WSGI 應(yīng)用程序在 Pyjion 下運(yùn)行,因此像 web 應(yīng)用這種長時間運(yùn)行的應(yīng)用程序非常適合 JIT 加速。
目前,有一些 Python 特性還不能在 Pyjion 中實(shí)現(xiàn),比如 block 和 async/await,不過這些特性都已經(jīng)在 Pyjion 的路線圖中。
由于各種各樣的原因,讓 Python 變得更快非常困難。大多數(shù)提高 Python 速度的方法仍然依賴于 Python C API 來實(shí)現(xiàn)兼容性,性能也會受到限制。
Pyjion 也不例外,它仍然依賴 Python C API,但 ?Pyjion 的優(yōu)化計劃(例如,優(yōu)化對數(shù)組類型的訪問)表明,它的開發(fā)人員已經(jīng)在思考如何處理這些問題。
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
各位伙伴們好,詹帥本帥搭建了一個個人博客和小程序,匯集各種干貨和資源,也方便大家閱讀,感興趣的小伙伴請移步小程序體驗(yàn)一下哦!(歡迎提建議)
推薦閱讀
牛逼!Python常用數(shù)據(jù)類型的基本操作(長文系列第①篇)
牛逼!Python的判斷、循環(huán)和各種表達(dá)式(長文系列第②篇)
牛逼!Python函數(shù)和文件操作(長文系列第③篇)
牛逼!Python錯誤、異常和模塊(長文系列第④篇)
總結(jié)
以上是生活随笔為你收集整理的神器!微软发布 Python 的 JIT 编译器:Pyjion!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用pg_resetwal时空穿梭找回“
- 下一篇: Python Bokeh 库进行数据可视