apache / apache/arrow-java

[Java] Experiment with performance difference of avoiding the use of Avro Decoder

Ouverte
#281 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Java
Étoiles
94
Forks
152
Merge moyen
3 j 16 h
PR mergées (30 j)
11

Description

It has been posited that the Decoder object (and on-heap work in general) is potentially slow for decoding.

 

The scope of this Jira is to add a new method that instead of consuming from Decoder, consumes directly from a ByteBuffer.  In order to this we there needs to be utility classes for zig-zag decoding (one might existing in avro) from a ByteBuffer.

 

This is esentially rewriting logic in the decoder to work directly against a bytebuffer and then measure if there is a meaningful performance impact.

 

 

**Reporter**: [Micah Kornfield](https://issues.apache.org/jira/browse/ARROW-6593) / @emkornfield
#### Related issues:
- [[Java] Add support for skipping decoding of columns/field in Avro converter](https://github.com/apache/arrow/issues/22949) (is a clone of)

**Note**: *This issue was originally created as [ARROW-6593](https://issues.apache.org/jira/browse/ARROW-6593). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par localiser le code de conversion Java Avro qui consomme Decoder et examinez les utilitaires Avro existants de décodage zig-zag. Le travail est terminé lorsque le décodage basé sur ByteBuffer et les utilitaires associés sont implémentés, et que les mesures montrent si le fait d’éviter Decoder et le travail sur le tas apporte un impact significatif sur les performances.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
data
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

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