[Java] reduce heap footprint of ValueVectors
- Langage dominant
- Java
- Étoiles
- 94
- Forks
- 152
- Merge moyen
- 3 j 16 h
- PR mergées (30 j)
- 11
Description
In some scenarios, we hold lots of value vectors in memory eg. during join, aggregation. The heap analysis shows that the costs are as follows for a simple IntVector (used VisualVM on mac) :
IntVector : 80 bytes
vector.types.pojo.FieldType : 41 bytes
vector.types.pojo.Field : 40 bytes
IntReaderImpl : 28 bytes
I'll use this Jira to track ways to reduce the heap usage.
**Reporter**: [Pindikura Ravindra](https://issues.apache.org/jira/browse/ARROW-5482) / @pravindra
#### Related issues:
- [[Java] remove FieldReader from ValueVector](https://github.com/apache/arrow-java/issues/411) (is a parent of)
- [[Java] add ValueVector constructors that take a Field object](https://github.com/apache/arrow/issues/21932) (is a parent of)
**Note**: *This issue was originally created as [ARROW-5482](https://issues.apache.org/jira/browse/ARROW-5482). 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 lire les implémentations Java de ValueVector et l’issue associée « remove FieldReader from ValueVector » (#411), puis reproduisez avec VisualVM le profil du tas de IntVector indiqué. Le travail sera considéré comme terminé lorsqu’une réduction mesurée des coûts mémoire signalés de ValueVector aura été obtenue et que les scénarios concernés ainsi que les compromis auront été documentés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- performance
- Type d'issue
- Refactorisation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100