ベンチマーク
ベンチマークとは、pandasのパフォーマンスを測定するテストです。pandasに関連するベンチマークには2つの異なる種類があります。
- 時間の経過とともに速度とメモリ使用量を測定するための内部pandasベンチマーク
- 同じジョブを実行する際の異なるツールの速度やメモリ使用量を比較するコミュニティベンチマーク
pandasベンチマーク
pandasベンチマークは、リポジトリのasv_benchディレクトリに実装されています。ベンチマークは、airspeed velocity (略してasv) フレームワーク向けに実装されています。
ベンチマークは、どのpandas開発者でもローカルで実行できます。これはasv runコマンドで行うことができ、変更前と変更後にベンチマークを実行することで、ローカルでの変更がパフォーマンスに影響を与えるかどうかを検出するのに役立ちます。パフォーマンステストスイートの実行に関する詳細はこちらをご覧ください。
ベンチマークは決定論的ではなく、異なるハードウェアで実行したり、同じハードウェアで異なるストレスレベルで実行したりすると、結果に大きな影響を与えることに注意してください。まったく同じハードウェアとほぼ同じ条件でベンチマークを実行しても、まったく同じコードを実行した場合でもかなりの違いが生じることがあります。
自動ベンチマークランナー
asv-runnerリポジトリは、mainブランチへのコミットごとに(またはほぼすべてのコミットに対して)pandas asvベンチマークスイートを自動的に実行します。これはGitHub Actionsで実行されます。詳細については、リンクされたリポジトリをご覧ください。結果は以下のURLで確認できます。
https://pandas-dev.github.io/asv-runner/
コミュニティベンチマーク
pandasを含むデータフレームツールを比較する主なベンチマークは以下の通りです。