apache / apache/arrow-java

ArrowBuf copying from GetReadableBuffer causes slowness

Aperta
#835 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Type: usage
Lingua principale
Java
Stelle
94
Fork
152
Merge medio
3g 16h
PR unite (30g)
11

Descrizione

### 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));
} `

Image

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

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia con il percorso rapido di FlightRPC mostrato nell’issue, seguendo getReadableBuffer attraverso ReadableBuffer.readBytes fino alla destinazione ArrowBuf e confrontandolo con il flame graph riportato. Determina se la copia è necessaria per la gestione della proprietà o della memoria e documenta la causa o un modo chiaramente supportato per evitarla.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
api, performance
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.