更快、更強的Python實現:Pyston v2.0發布
比 Python 快 20% 的 Pyston v2.0 來了。
2014 年,Python 實現 Pyston 誕生。Pyston 的開發目標是開發高性能 Python 實現,使 Python 躋身 C++ 等傳統系統級語言主導的領域。
Pyston 最初是由 Dropbox 推出的基于 JIT 的 Python 實現。Pyston 解析 Python 代碼,并轉換到 LLVM 中間表示(IR),然后 IR 通過 LLVM 優化器和 LLVM JIT 引擎,得到可執行的機器碼。
六年過去,10 月 28 日 Pyston 團隊發布了最新版本——Pyston v2。
Pyston v2:比 Python 快 20%
據官方介紹,在宏基準測試上 Pyston v2 比 Python 3.8 快了 20%。除了速度快,Pyston v2 還可以降低服務器成本,減少用戶等待時間,提高開發生產力。
此外,Pyston v2 易于部署。如果想獲得更好的 Python 性能,只需花很少的時間就可以嘗試部署 Pyston。
1. 性能
Pyston v2 在許多工作負載上的速度有明顯提升。開發者的研究重點一直放在 Web 服務器工作負載上,但 Pyston v2 在其他工作負載和常見基準上速度也更快。
開發團隊整理了一個新的公開 Python 宏基準測試套件,該套件可測量多個常用 Python 項目的性能。
Pyston v2 在微基準測試上也顯示出性能加速。在 chaos.py 和 nbody.py 等測試中,其速度是標準 Python 的 2 倍。
在目標基準 (djangocms + flaskblogging) 上,Pyston v2 實現了平均延遲 1.22x 加速、p99 延遲 1.18x 加速,并且每個進程使用的內存僅多了幾 MB。
2. 技術方法
Pyston v2 使用的技術包括:
- 利用 DynASM 的低開銷 JIT;
- Quickening;
- 通用 CPython 優化;
- 構建進程提升。
3. 兼容性
由于 Pyston 是 CPython 的分支,因此開發團隊認為 Pyston 是目前兼容性最強的 Python 實現。它支持 CPython 擁有的所有特性和 C API。
理論上,Pyston 與 CPython 具備同樣的功能,但在實踐中任何新的 Python 實現都會遇到一些暫時的兼容問題。詳情參見:https://github.com/pyston/pyston/wiki。
4. 可用性
Pyston v2.0 可作為預置軟件包立即可用。目前,Pyston v2.0 已具備適用于 Ubuntu 18.04 和 20.04 x86_64 的包。
Pyston 的試用較為簡單,安裝軟件包,將 python3 替換成 pyston3,然后使用 pip-pyston3 install 重新安裝依賴項。在已有自動構建設置時,這一改變只需幾行即可完成。
Pyston 團隊表示,計劃未來將代碼開源,但由于編譯器項目成本高昂且沒有贊助,因此目前該項目仍是閉源的,但 Pyston v1.0 的源代碼是開放的。
原文鏈接:https://blog.pyston.org/2020/10/28/pyston-v2-20-faster-python/
【本文是51CTO專欄機構“機器之心”的原創譯文,微信公眾號“機器之心( id: almosthuman2014)”】