ArrowBuf copying from GetReadableBuffer causes slowness
- Langage dominant
- Java
- Étoiles
- 94
- Forks
- 152
- Merge moyen
- 3 j 16 h
- PR mergées (30 j)
- 11
Description
### 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
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par le chemin rapide de FlightRPC présenté dans l’issue, en suivant getReadableBuffer via ReadableBuffer.readBytes jusqu’à la destination ArrowBuf tout en comparant le flame graph signalé. Déterminez si la copie est nécessaire pour la gestion de la propriété ou de la mémoire, et documentez la cause ou une manière clairement prise en charge de l’éviter.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- api, performance
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 35/100