apache / apache/arrow-java

[Java] reduce heap footprint of ValueVectors

Offen
#412 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
94
Forks
152
Ø Merge
3 T. 16 Std.
Gemergte PRs (30 T.)
11

Beschreibung

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.*

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginnen Sie mit dem Lesen der Java ValueVector-Implementierungen und des zugehörigen Issues „remove FieldReader from ValueVector“ (#411), und reproduzieren Sie anschließend das aufgeführte IntVector-Heap-Profil mit VisualVM. Als erledigt gilt die Aufgabe, wenn eine gemessene Reduzierung der gemeldeten ValueVector-Speicherkosten vorliegt und die betroffenen Szenarien sowie die Abwägungen dokumentiert sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
performance
Issue-Typ
Refactoring
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.