證明PyPy比Python更快的5個效能基準 - codex

banq發表於2021-11-13

對於許多用 Python 編寫的程式來說,糟糕的效能並不是什麼大問題。
但是,如果我們想讓我們的 Python 更快呢?切換到另一種程式語言?
你可以使用PyPy Just-in-Time 編譯器來執行,根據官網的說法,即使是 Python 建立者,Guido von Rossum 也建議將 PyPy 用於效能關鍵的 Python 程式。
 

基準測試的工作原理
為了比較 Python 和 PyPy,我編寫了幾個 Python 程式。著名演算法、典型用例,甚至是基本的 HTTP 伺服器。
使用的版本:

  • PyPy: 7.3.5,使用 Python 版本 3.7.10
  • Python:版本 3.9.7

 

測試案例 

  • 斐波那契測試

Python 平均需要 2337 毫秒的執行時間。
PyPy 平均只需要 301 毫秒。
明顯的贏家是 PyPy。
  • 網路伺服器

Python: Web 伺服器平均每秒可以處理 995 個請求,平均延遲為 2.03 毫秒。
PyPy: Web 伺服器平均每秒可以處理 1481 個請求,平均延遲為 1.90 毫秒。
  • 快速排序

Python:平均而言,程式碼執行需要 43 毫秒
PyPy:平均執行時間為 132 毫秒。
是的,Python 在這裡更快。

Python:程式碼平均耗時 2.89 秒
PyPy:平均需要 69 毫秒。
是的,我說的是毫秒。在這個基準測試中,PyPy 比普通 Python 快幾個數量級。
  • SQLite3 資料庫

Python 平均需要 6.7 秒來執行程式碼。PyPy 平均需要 9.4 秒的執行時間。
Python 速度更快。
我還嘗試將其與其他操作結合使用——比如刪除剛剛建立的條目。它沒有改變結果。在 SQlite3 資料庫的情況下,普通Python 比 PyPy 快。

相關文章