ArrowBuf copying from GetReadableBuffer causes slowness
- 主要言語
- Java
- スター
- 94
- フォーク
- 152
- 平均マージ
- 3日 16時間
- マージ済み PR(30日)
- 11
説明
### Describe the usage question you have. Please include as many useful details as possible.
I'm using Arrow Flight and discovered an extra copy action while testing performance impact.
` ReadableBuffer readableBuffer = fastPath ? getReadableBuffer(stream) : null;
if (readableBuffer != null) {
readableBuffer.readBytes(buf.nioBuffer(0, size));
} `
The flame graph shows that after enabling zero_copy, ArrowBuf copying from GetReadableBuffer causes slowness.
Why does this copy occur?
Or is it because arrowbuf needs to manage its own memory, so the ownership must be transferred from netty?
### Component(s)
FlightRPC
コントリビューションガイド
調査の方向性
issue に示されている FlightRPC の高速パスから始め、getReadableBuffer を ReadableBuffer.readBytes 経由で ArrowBuf の宛先まで追跡しながら、報告されているフレームグラフと比較します。所有権またはメモリ管理のためにコピーが必要かどうかを判断し、その原因、またはコピーを回避するための明確にサポートされた方法を文書化します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- api, performance
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 35/100