An apparatus, program product, and method organize data objects in an
object heap based upon access relationships between the data objects
(e.g., based upon temporal proximity and/or relative frequencies of
access). By doing so, data objects that are accessed in close succession
with one another are more likely to be located within the same page, and
possibly within the same cache line, as one another. Consequently, when
accessing such objects, the frequency of memory swapping within a
multi-level memory architecture (e.g., within a particular cache memory,
or within a virtual memory scheme, as appropriate for the particular
architecture) is often reduced, resulting in an overall improvement in
system performance.
Un apparecchio, un prodotto di programma e un metodo organizzano gli oggetti di dati in un mucchio dell'oggetto basato sui rapporti di accesso fra gli oggetti di dati (per esempio, basato su prossimità temporale e/o su frequenze relative di accesso). Facendo così, gli oggetti di dati che sono raggiunti nella successione vicina tra loro sono più probabili essere situati all'interno della stessa pagina e possibilmente all'interno della stessa linea del nascondiglio, come una un altro. Di conseguenza quando accede a tali oggetti, la frequenza della memoria che scambia all'interno di un'architettura multilivelli di memoria (per esempio, all'interno di un'antememoria particolare, o all'interno di uno schema di memoria virtuale, come adatto per l'architettura particolare) è ridotta spesso, con conseguente miglioramento generale nelle prestazioni del sistema.