Tabulate 性能测试¶
zerodep tabulate 与 tabulate 的性能对比。
测试环境
- CPU: x86_64 Linux
- Python: 3.12
- 工具: pytest-benchmark 5.2.3(报告均值)
- 对标库: tabulate 0.10.0
- 最后更新: 2026-04-21
实现对比¶
| 实现 | 文件/包 | 说明 |
|---|---|---|
| zerodep | tabulate.py |
单文件表格格式化,仅标准库 |
| tabulate | (参考库) | 流行的表格格式化库 |
测试数据¶
| 规模 | 描述 |
|---|---|
| Small | 简单的 3 列 3 行表格 |
| Medium | 10 列 20 行混合类型表格 |
| Large | 15 列 100 行数字和字符串表格 |
格式化性能(均值)¶
| 数据规模 | zerodep | tabulate | 倍数 |
|---|---|---|---|
| Small | 54.4 μs | 169.2 μs | 快 3.1x |
| Medium | 403.2 μs | 1,800.0 μs | 快 4.5x |
| Large | 6,570.0 μs | 27,340.0 μs | 快 4.2x |
要点总结¶
- 格式化快 3.1-4.5 倍 —— 单文件实现避免了参考库多模块调度和功能协商的开销。
- 数据越大优势越明显 —— zerodep 的列宽计算和行渲染具有更好的扩展性,中型表格可达 4.5 倍加速。
- 无需任何 pip 依赖 —— zerodep 仅使用标准库
re、math、unicodedata、dataclasses。
自行运行¶
pip install pytest pytest-benchmark tabulate
pytest tabulate/test_tabulate_benchmark.py --benchmark-only -v
最新 CI 结果¶
每次发版时通过 Benchmark CI 自动更新。