Condividi tramite


Modifiche inefficienti alla raccolta non modificabili

Questo articolo descrive le informazioni dettagliate sulle prestazioni durante la modifica di raccolte non modificabili, ImmutableList<T>ad esempio .

Motivo

La modifica di una raccolta non modificabile ,ad esempio Add, Removeo Insert, comporta un rallentamento delle prestazioni.

Descrizione delle informazioni dettagliate sulle prestazioni

Ogni modifica a una raccolta non modificabile crea una nuova copia della raccolta, causando allocazioni di memoria eccessive e utilizzo della CPU. Ciò è particolarmente inefficiente quando le modifiche vengono eseguite frequentemente, in cicli o in percorsi di codice critici per le prestazioni.

Se possibile, usare una raccolta modificabile (ad esempio List<T>) durante la costruzione o nei percorsi ad accesso frequente e convertirla in una raccolta non modificabile solo quando necessario. Le raccolte modificabili consentono modifiche sul posto efficienti, mentre le raccolte non modificabili vengono usate meglio per thread safety e scenari in cui le modifiche sono poco frequenti.

Come analizzare un avviso

Nello strumento Utilizzo CPU fare clic su Visualizza codice sorgente per trovare dove vengono modificate le raccolte non modificabili. Se possibile, effettuare il refactoring per usare una raccolta modificabile nel codice sensibile alle prestazioni e convertirla in una raccolta non modificabile solo quando necessario.

Vedere anche

Documentazione delle raccolte non modificabili