基准测试

基准测试是用来衡量 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 的数据框工具的主要基准测试是