Perché è più veloce compattare una porzione dell'heap gestito rispetto all'intero heap?

0

Stavo leggendo questo articolo su MSDN. Nel primo paragrafo sotto  il sottotitolo "Generazioni e prestazioni" è scritto:

First, it is faster to compact the memory for a portion of the managed heap than for the entire managed heap.

Ma perché ?

    
posta discussedterran 18.05.2015 - 16:46
fonte

1 risposta

2

L'articolo non entra nei dettagli per eseguire il backup di tale affermazione, tuttavia, vi è una semplice spiegazione.

Se A è una porzione dell'heap e B è l'intero heap, allora la compattazione chiara di A è meno lavoro della compattazione B perché è più piccola. Ci sono meno blocchi di memoria da tracciare, meno copie di memoria vengono eseguite e meno puntatori da aggiornare (la descrizione semplificata dei riferimenti nei linguaggi gestiti dalla memoria sono in realtà doppi puntatori e devono essere aggiornati durante la compattazione del cestino).

    
risposta data 18.05.2015 - 16:53
fonte

Leggi altre domande sui tag