Cooperative Budgets: How DataFusion Stops One Operator From Starving the Whole Runtime
Every batch costs one unit of Tokio task budget. Operators yield when the budget runs out, exchanges gate their channels, and blocking IO goes to spawn_blocking.
Every batch costs one unit of Tokio task budget. Operators yield when the budget runs out, exchanges gate their channels, and blocking IO goes to spawn_blocking.
DataFusion’s perfect hash join replaces the build side’s hash table with a flat array indexed by the key value, turning the probe into one array load with no hashing at all.
A DataFusion hash join publishes its build side as a dynamic filter: a small build becomes an IN list, a large build becomes a hash-table membership test, and every build …
DataFusion desugars BETWEEN into two comparisons, propagates the implied range through an interval DAG, and estimates selectivity from the ratio of interval cardinalities.
A SQL predicate is not one thing to DataFusion: it is simultaneously a candidate for statistics pruning and a candidate for decoder-level evaluation, and each has its own support …