DataStore が高速な理由
1. SQL プッシュダウン
2. カラムプルーニング
3. 遅延評価
ベンチマーク: DataStore と pandas
テスト環境
- データ: 1,000万行
- ハードウェア: 一般的なノートPC
- ファイル形式: CSV
結果
主な知見
- GroupBy 操作: DataStore は最大 19.93 倍高速
- 複雑なパイプライン: DataStore は 5〜6 倍高速 (SQL プッシュダウンの効果)
- 単純なスライス操作: 性能は同程度で、差はほとんどない
- 最適なユースケース: GroupBy/集約を含む複数ステップの操作
- ゼロコピー:
to_df()ではデータ変換のオーバーヘッドがない
DataStoreが適しているケース
高負荷な集計
複雑なパイプライン
大容量ファイルの処理
複数カラムの操作
pandasに匹敵するケース
少量のデータ (<1,000行)
基本的なスライス操作
Python のカスタムラムダ関数
重要DataStore が「遅い」ケースでも、通常は pandas と同等の性能 であり、実用上の差はほとんどありません。複雑な操作における DataStore の利点は、こうしたケースを大きく上回ります。実行を細かく制御するには、実行エンジン Configuration を参照してください。
ゼロコピー DataFrame インテグレーション
to_df()は実質的にコストがかからず、シリアライゼーションやメモリコピーも発生しません- pandas DataFrame から DataStore を作成する処理は瞬時に完了します
- メモリは DataStore と pandas のビューの間で共有されます