Performance concern: fillHoles() method and read buffer expansion efficiency.
- 主要言語
- Java
- スター
- 94
- フォーク
- 152
- 平均マージ
- 3日 16時間
- マージ済み PR(30日)
- 11
説明
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!

コントリビューションガイド
調査の方向性
read buffer の拡張パスにある fillHoles() から始め、issue で説明されている profiler image と 300-column benchmark のコンテキストを確認してください。現在の要素ごとの filling と、同じ workload を使った bulk approach を比較してください。完了の条件は、パフォーマンス上の懸念について測定に基づく結論が得られ、比較結果がそれを支持する場合に限って焦点を絞った変更を行うことです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- performance
- issue の種類
- リファクタリング
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 35/100