Excess garbage in Metadata
- Lingua principale
- Java
- Stelle
- 12.1k
- Fork
- 4k
- Merge medio
- 2g 17h
- PR unite (30g)
- 37
Descrizione
Metadata today is a Hashmap of ArrayLists, and each arraylist has an object array. This creates a lot of garbage since Metadata objects are short lived.
Some ideas on how to improve the situation:
- Recycle the objects
- Store headers as a flat array of an initial size, and swap to using a full map if slow. (and avoid Strings when possible)
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia individuando l’implementazione di Metadata e misurando l’allocazione causata dalla sua HashMap di ArrayLists e dagli array di oggetti per ogni array. Confronta gli approcci proposti di riciclo e flat-array, incluso il fallback a una mappa completa. Il lavoro dovrebbe considerarsi concluso quando sarà stato scelto chiaramente un design che riduca i rifiuti di breve durata, anche se l’issue non fornisce alcun obiettivo o test per confermare il miglioramento.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- performance
- Tipo di issue
- Refactoring
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100