DataStore 为何更快
1. SQL 下推
2. 列裁剪
3. 惰性求值
基准测试:DataStore 与 pandas 对比
测试环境
- 数据量:1000 万行
- 硬件:标准笔记本电脑
- 文件格式:CSV
结果
关键结论
- GroupBy 操作:DataStore 最高可快 19.93 倍
- 复杂管道:DataStore 快 5–6 倍 (受益于 SQL 下推)
- 简单切片操作:性能相当——差异微乎其微
- 最佳用例:包含 GroupBy/聚合的多步操作
- 零拷贝:
to_df()没有数据转换开销
DataStore 何时更具优势
高开销聚合
复杂管道
大文件处理
多列操作
何时 pandas 也能媲美
小型数据集 (<1,000 行)
简单切片操作
自定义 Python Lambda 函数
重要即使在 DataStore “较慢” 的场景下,其性能通常也与 pandas 不相上下——在实际使用中,这点差异几乎可以忽略不计。相比这些边缘情况,DataStore 在复杂操作中的优势要明显大得多。如需更细粒度地控制执行,请参阅执行引擎配置。
与 DataFrame 的零拷贝集成
to_df()基本没有开销——无需序列化或复制内存- 从 pandas DataFrame 创建 DataStore 几乎是瞬时完成的
- DataStore 与 pandas 视图共享内存