強(qiáng)勢回歸!比 Python 快 20% 的 Pyston v2.0 來了!
比 Python 快 20% 的 Pyston v2.0 來了。
2014 年,Python 實(shí)現(xiàn) Pyston 誕生。Pyston 的開發(fā)目標(biāo)是開發(fā)高性能 Python 實(shí)現(xiàn),使 Python 躋身 C++ 等傳統(tǒng)系統(tǒng)級語言主導(dǎo)的領(lǐng)域。
Pyston 最初是由 Dropbox 推出的基于 JIT 的 Python 實(shí)現(xiàn)。Pyston 解析 Python 代碼,并轉(zhuǎn)換到 LLVM 中間表示(IR),然后 IR 通過 LLVM 優(yōu)化器和 LLVM JIT 引擎,得到可執(zhí)行的機(jī)器碼。
六年過去,10 月 28 日 Pyston 團(tuán)隊發(fā)布了最新版本——Pyston v2。
Pyston v2:比 Python 快 20%
據(jù)官方介紹,在宏基準(zhǔn)測試上 Pyston v2 比 Python 3.8 快了 20%。除了速度快,Pyston v2 還可以降低服務(wù)器成本,減少用戶等待時間,提高開發(fā)生產(chǎn)力。
此外,Pyston v2 易于部署。如果想獲得更好的 Python 性能,只需花很少的時間就可以嘗試部署 Pyston。
性能
Pyston v2 在許多工作負(fù)載上的速度有明顯提升。開發(fā)者的研究重點(diǎn)一直放在 Web 服務(wù)器工作負(fù)載上,但 Pyston v2 在其他工作負(fù)載和常見基準(zhǔn)上速度也更快。
開發(fā)團(tuán)隊整理了一個新的公開 Python 宏基準(zhǔn)測試套件,該套件可測量多個常用 Python 項目的性能。
Pyston v2 在微基準(zhǔn)測試上也顯示出性能加速。在 chaos.py 和 nbody.py 等測試中,其速度是標(biāo)準(zhǔn) Python 的 2 倍。
在目標(biāo)基準(zhǔn) (djangocms + flaskblogging) 上,Pyston v2 實(shí)現(xiàn)了平均延遲 1.22x 加速、p99 延遲 1.18x 加速,并且每個進(jìn)程使用的內(nèi)存僅多了幾 MB。
技術(shù)方法
Pyston v2 使用的技術(shù)包括:
利用 DynASM 的低開銷 JIT;
Quickening;
通用 CPython 優(yōu)化;
構(gòu)建進(jìn)程提升。
兼容性
由于 Pyston 是 CPython 的分支,因此開發(fā)團(tuán)隊認(rèn)為 Pyston 是目前兼容性最強(qiáng)的 Python 實(shí)現(xiàn)。它支持 CPython 擁有的所有特性和 C API。
理論上,Pyston 與 CPython 具備同樣的功能,但在實(shí)踐中任何新的 Python 實(shí)現(xiàn)都會遇到一些暫時的兼容問題。
詳情參見:https://github.com/pyston/pyston/wiki。
可用性
Pyston v2.0 可作為預(yù)置軟件包立即可用。目前,Pyston v2.0 已具備適用于 Ubuntu 18.04 和 20.04 x86_64 的包。
Pyston 的試用較為簡單,安裝軟件包,將 python3 替換成 pyston3,然后使用 pip-pyston3 install 重新安裝依賴項。在已有自動構(gòu)建設(shè)置時,這一改變只需幾行即可完成。
Pyston 團(tuán)隊表示,計劃未來將代碼開源,但由于編譯器項目成本高昂且沒有贊助,因此目前該項目仍是閉源的,但 Pyston v1.0 的源代碼是開放的。
m」獲取!
推薦閱讀:
1、原創(chuàng)專輯 | Python 與 數(shù)據(jù)分析
2、超全!我把 Python 的 200 個標(biāo)準(zhǔn)庫整理出來了!
3、40000字 Matplotlib 實(shí)操干貨,真的全!
4、用 Python 修改微信(支付寶)運(yùn)動步數(shù),每天輕松 TOP1!
5、為了探究妹紙對內(nèi)衣的喜好,我爬了淘寶內(nèi)衣店的數(shù)據(jù)!
6、任意爬??!超全開源爬蟲工具箱
7、11 種方法教你用 Python 高效下載資源!
8、哪種 Python IDE 最適合你?這里有一份優(yōu)缺點(diǎn)列表
9、這一行代碼,能讓你的 Python 運(yùn)行速度提高 100 倍!
10、手把手教你用 Python 搞定網(wǎng)頁爬蟲!
關(guān)注微信公眾號「杰哥的IT之旅」,后臺回復(fù)「1024」查看更多內(nèi)容,回復(fù)「加群」備注:地區(qū)-職業(yè)方向-昵稱 即可加入讀者交流群。
2、超全!我把 Python 的 200 個標(biāo)準(zhǔn)庫整理出來了!
3、40000字 Matplotlib 實(shí)操干貨,真的全!
4、用 Python 修改微信(支付寶)運(yùn)動步數(shù),每天輕松 TOP1!
5、為了探究妹紙對內(nèi)衣的喜好,我爬了淘寶內(nèi)衣店的數(shù)據(jù)!
6、任意爬??!超全開源爬蟲工具箱
7、11 種方法教你用 Python 高效下載資源!
8、哪種 Python IDE 最適合你?這里有一份優(yōu)缺點(diǎn)列表
9、這一行代碼,能讓你的 Python 運(yùn)行速度提高 100 倍!
10、手把手教你用 Python 搞定網(wǎng)頁爬蟲!
點(diǎn)個[在看],是對杰哥最大的支持!
