Kontinuation opened a new pull request, #1511: URL: https://github.com/apache/datafusion-comet/pull/1511
<!-- We generally require a GitHub issue to be filed for all bug fixes and enhancements and this helps us generate change logs for our releases. You can link an issue to this PR using the GitHub syntax. For example `Closes #123` indicates that this PR will close issue #123. --> Closes #1235. ## Rationale for this change Using `interleave_record_batch` instead of maintaining array builders for each partition improves memory utilization and reduces the possibility of excessive spilling. For instance, the test case `test_large_number_of_partitions_spilling` spills 3332 times before this change, now it spills only 3 times. Switching from array builders to `interleave_record_batch` also reduces the amount of code we have to maintain. Now we can completely get rid of `builder.rs`, and the logic for handle partitioning and spilling is easier to to track than before. ## What changes are included in this PR? Reimplement ShuffleWriteExec using `interleave_record_batch` and get rid of the old builder-based approach. ## How are these changes tested? Passing existing tests. TODO: Run benchmarks on larger datasets to see if there's performance regression. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org