apache / apache/arrow-java

ArrowBuf copying from GetReadableBuffer causes slowness

Ouverte
#835 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Type: usage
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));
} `

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

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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.