-
Notifications
You must be signed in to change notification settings - Fork 3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Optimize large IN filters on integer data types
Use a bitset based filter instead of a hash set when the range of values is narrow enough. We use bitset only when it would occupy lesser space than the equivalent open hash set. This is useful for making evaluation of dynamic filter more efficient as we often collect large integer sets in dynamic filters. BenchmarkDynamicPageFilter.filterPages (filterSize) (inputDataSet) (nonNullsSelectivity) Mode Cnt Before score After score 100 INT64_FIXED_32K 0.2 thrpt 30 446.174 ? 10.598 449.113 ? 5.323 ops/s 1000 INT64_FIXED_32K 0.2 thrpt 30 407.625 ? 3.139 1379.767 ? 19.318 ops/s 5000 INT64_FIXED_32K 0.2 thrpt 30 426.413 ? 6.485 1254.731 ? 11.685 ops/s
- Loading branch information
1 parent
fe59130
commit f9082b4
Showing
5 changed files
with
575 additions
and
2 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
Oops, something went wrong.