apache / apache/arrow-java

ArrowBuf copying from GetReadableBuffer causes slowness

Aberta
#835 2 comentários 0 reações 0 responsáveis Ver no GitHub
Type: usage
Linguagem predominante
Java
Estrelas
94
Forks
152
Merge médio
3d 16h
PRs com merge (30d)
11

Descrição

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

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece pelo caminho rápido do FlightRPC mostrado na issue, acompanhando getReadableBuffer por ReadableBuffer.readBytes até o destino ArrowBuf e comparando com o flame graph relatado. Determine se a cópia é necessária para a propriedade ou o gerenciamento de memória e documente a causa ou uma forma claramente suportada de evitá-la.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
java
Domínio
api, performance
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.