-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Defer the creation of dictionary in SliceDictionarySelectiveReader
Previously the dicitonary data byte arrays were allocated as soon as a stripe or a rowgroup is open during read(). This commit persists them as local buffers, and only copies them to create the dictionary until getBlock() is called. This way the expensive allocations can be avoided if a lazyBlock doesn't need to be read. Moreover, this commit avoids creating Slices when evaluating the filters, which was also another source of big memory allocations.
- Loading branch information
1 parent
93d1b04
commit 7994754
Showing
2 changed files
with
99 additions
and
43 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