Python 程式設計/PyPy
外觀
PyPy 是一個包含即時編譯器的 Python 直譯器。Python 程式通常可以在 PyPy 上執行而無需修改,但由於某些模組是為 CPython(標準 Python 直譯器)製作的,因此並非所有模組都能與 PyPy 相容。此外,由於 PyPy 在釋放分配的物件(包括檔案控制代碼)時的策略不同,因此一些 Python 程式可能會遇到問題。
與 CPython 相比,PyPy 帶來的速度提升取決於任務的性質。對於一些計算量大的任務,速度提升因子可以高達 50 倍。PyPy 速度中心報告的幾何平均速度提升因子為 7.6,它是根據一組基準測試計算得出的。
PyPy 可用於 Python 2 和 Python 3,但 Python 3 版本速度較慢;上述速度說明適用於 Python 2。
可以互動使用 PyPy:你可以在命令列中輸入 "pypy",並像使用 CPython 一樣開始與它互動。
PyPy 的輸出不能保證與 CPython 完全相同。例如,PyPy 可以以與 CPython 不同的順序從集合中生成項,因為集合中的項順序是任意的,並且不能保證在不同的 Python 實現之間相同;為了驗證,你可以比較 {1,2}.pop() 的結果。字典也具有任意的鍵順序。
只要 PyPy 使用 SSE2 指令集構建,而 CPython 沒有,浮點結果在某些設定中可能在 PyPy 和 CPython 之間略有不同。
另請參閱 效能。
- PyPy,pypy.org
- PyPy 的速度中心,speed.pypy.org
- PyPy,en.wikipedia.org