Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Optimize statistics aggregation for wide tables
This patch optimizes statistics aggregation for extra wide tables (1000+ columns). For extra wide tables creation of InMemoryHashAggregationBuilder could be expensive, as it creates ~4 aggregators (one for every statistic collected) for every column. After each partial results flush the InMemoryHashAggregationBuilder has to be recreated, what takes way more CPU time that the aggregations itself. As an optimization this patch: - Removes partial aggregation memory limit to avoid frequent flushes - Sets expected entries size to 200 instead of 10_000. The magic number 200 was chosen out of consideration that statistics aggregation is per partition. And currently it is not allowed to insert more than 100 partitions at once.
- Loading branch information
Showing
9 changed files
with
49 additions
and
33 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters