Performance concern: fillHoles() method and read buffer expansion efficiency.
- Dominant language
- Java
- Stars
- 94
- Forks
- 152
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 11
Description
Hi everyone,
I have the following use case: I’m benchmarking the read throughput performance when dealing with a large number of non-dictionary string columns (300 columns). Based on the profiler output (see the attached picture), I’ve noticed that a significant amount of time is spent in the fillHoles() method, which is part of the read buffer expansion process.
My question is: why is the buffer filled one element at a time instead of using a bulk operation? Wouldn’t a batch approach be more efficient?
Looking forward to your insights. Thanks!

Contributor guide
Research direction
Start with fillHoles() in the read buffer expansion path and review the profiler image and 300-column benchmark context described in the issue. Compare the current element-by-element filling with a bulk approach using the same workload; done means a measured conclusion about the performance concern and a focused change only if the comparison supports it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- performance
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100