Skip to content
Opensource internals
  • Posts

Posts

All posts published on this site.

Everything published here, newest first.

Multi-Level Merge: How DataFusion Sorts More Data Than It Can Hold, One Pass at a Time

Oct 21, 2026 8 min read Jay Hubbert

DataFusion’s multi-level merge merges the sorted runs it can afford, spills the merged result back to disk, and repeats until one pass remains, re-spilling skewed runs whose widest …

DatafusionSortingSpillingPerformanceInternals

Read more →

EXPLAIN ANALYZE Without the Overhead: How DataFusion Times Every Operator While the Query Runs

Oct 21, 2026 11 min read Jay Hubbert

DataFusion records cheap atomic metrics per operator partition, measures only the time spent inside poll(), and renders the annotated plan after the query finishes — so EXPLAIN …

DatafusionRuntimePerformanceInternals

Read more →

Inside DataFusion's ListingTable: Listing an Object Store in Parallel and Turning Files into FileGroups

Oct 21, 2026 20 min read Jay Hubbert

DataFusion lists object-store prefixes, prunes partitions by path, fetches file metadata concurrently, and packs the surviving files into FileGroups.

DatafusionPlanningPerformanceInternals

Read more →

How DataFusion's Hash Join Keeps Its Build Side in Order: Reverse the Insertion, Get FIFO Output for Free

Oct 21, 2026 9 min read Jay Hubbert

DataFusion’s hash join inserts the build side in reverse order into a LIFO hash table, so the chain head is always the earliest matching row and the join output preserves the build …

DatafusionJoinsHash tablePerformanceInternals

Read more →

DataFusion Has No Runtime of Its Own: How common-runtime Borrows Yours and Keeps CPU Work Cooperative

Oct 21, 2026 10 min read Jay Hubbert

DataFusion borrows the ambient Tokio runtime, funnels every spawn through a cancel-safe wrapper, and runs CPU work inline with cooperative yields instead of spawn_blocking.

DatafusionRuntimePerformanceInternals

Read more →

← Newer Page 24 of 70 Older →

© 2026 Jay Hubbert · Built with Hugo 0.168.0

RSS ·