Apache Software Foundation / DataFusion
Merged upstreamPerformanceMerged Sep 6, 2026

Extend string IN-list pruning benchmarks

Expanded DataFusion's Criterion benchmark matrix for string IN-list pruning while preserving historical benchmark identifiers and leaving production thresholds unchanged.

apache/datafusion · #24836

Benchmark infrastructure

DataFusion can now measure string IN-list pruning across small domains and changing container counts before altering production representation thresholds.

Problem

The existing benchmark covered only domain sizes 20, 21, 256, and 1,024 against a fixed 4,096 pruning containers. It could not characterize small-list behavior or show how competing representations scale with the number of containers.

Approach

Adds domain sizes 1, 2, 4, 8, and 16 and evaluates the complete domain set at 16, 256, and 4,096 containers. Construction measurements remain independent of container count, and each evaluation cell validates that both representations return equivalent pruning results outside the timed loop.

Impact and scope

  • Creates the measurement coverage needed to evaluate follow-up pruning threshold and representation changes with reproducible evidence.
  • Separates benchmark expansion from production optimization so later performance claims can be reviewed independently.
  • Preserves existing 4,096-container Criterion identifiers, keeping historical baselines comparable.

Validation

  • Executed the full 72-case Criterion matrix spanning domain size, container count, and pruning representation.
  • All 95 datafusion-pruning tests, the extended workspace suite, and repository Rust lint checks passed; Codecov reported every modified coverable line covered.
  • A DataFusion maintainer approved the authored change; the GitHub-verified merge commit credits Goutam Adwant and closed GH-24707.