apache / apache/arrow-java

ArrowBuf copying from GetReadableBuffer causes slowness

Abierto
#835 2 comentarios 0 reacciones 0 asignados Ver en GitHub
Type: usage
Lenguaje dominante
Java
Estrellas
94
Forks
152
Merge medio
3 d 16 h
PR fusionados (30 d)
11

Descripción

### 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

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con la ruta rápida de FlightRPC mostrada en el issue, siguiendo getReadableBuffer a través de ReadableBuffer.readBytes hasta el destino ArrowBuf y comparándola con el gráfico de llamas reportado. Determina si la copia es necesaria para la propiedad o la gestión de memoria, y documenta la causa o una forma claramente compatible de evitarla.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
api, performance
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.