基準

基準是衡量 pandas 效能的測試。與 pandas 相關的基準有兩種不同類型

pandas 基準

pandas 基準實作於我們儲存庫的 asv_bench 目錄中。這些基準實作於 airspeed velocity (簡稱 asv) 架構。

任何 pandas 開發人員都可以本地執行基準。這可以使用 asv run 指令來完成,而且在變更前和變更後執行基準,有助於偵測本機變更是否會影響效能。有關執行效能測試套件的更多資訊,請參閱 此處

請注意,基準測試並非確定性的,在不同的硬體上執行或在同一個硬體上執行,但壓力層級不同,會對結果產生很大的影響。即使在相同的硬體和幾乎相同的條件下執行基準測試,在執行完全相同的程式碼時,也會產生顯著的差異。

pandas 基準測試伺服器

我們目前有兩台實體伺服器,為 main 分支的每個 (或幾乎每個) 提交執行 pandas 基準測試。這些伺服器彼此獨立執行。原始伺服器已經執行很長一段時間,而且實體上位於 pandas 維護人員之一處。較新的伺服器位於由 OVHCloud 友情贊助的資料中心。有關 pandas 贊助商的更多資訊,以及你的公司如何支援 pandas 開發的資訊,請參閱 pandas 贊助商 頁面。

基準測試結果可在下列位置取得

原始伺服器組態

機器可以使用 tomaugspurger/asv-runner 中的 Ansible 範例腳本進行組態。結果會發佈到另一個 GitHub 儲存庫 tomaugspurger/asv-collection

基準測試由 Airflow 排程。它有一個儀表板,可用於檢視和除錯結果。你將需要設定一個 SSH 隧道才能檢視它們

ssh -L 8080:localhost:8080 pandas@panda.likescandy.com

OVH 伺服器組態

用於執行基準測試的伺服器已經過組態,以減少系統雜訊並最大化基準測試時間的穩定性。

有關伺服器組態方式的詳細資訊,請參閱 pandas-benchmarks 儲存庫。這裡有一個快速摘要

社群基準測試

比較包含 pandas 的資料框工具的主要基準測試為