Sto scrivendo un framework Java per manipolare una grande quantità di dati in memoria, dove molte "celle" vicine tra loro avranno lo stesso valore.
Sto cercando algoritmi e / o tecniche appositamente progettate per eliminare quei duplicati pur mantenendo una velocità di accesso in lettura veloce in memoria . Cioè, tecniche che mantengono una velocità di accesso di di O (1)
I miei dati sono archiviati in oggetti immutabili, per consentire una multi-threading veloce. I dati stessi possono essere qualsiasi cosa, da 4 bit per cella a doppi per matrici di bean, ecc.