Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve os insights de desempenho ao modificar coleções imutáveis, como ImmutableList<T>.
Motivo
Modificar uma coleção imutável (como Add, Removeou Insert) resulta em desempenho lento.
Descrição do insight de desempenho
Cada modificação em uma coleção imutável cria uma nova cópia da coleção, resultando em alocações excessivas de memória e uso de CPU. Isso é especialmente ineficiente quando as modificações são executadas com frequência, em loops ou em caminhos de código críticos de desempenho.
Se possível, use uma coleção mutável (como List<T>) durante a construção ou em caminhos quentes e converta em uma coleção imutável somente quando necessário. Coleções mutáveis permitem modificações eficientes no local, enquanto coleções imutáveis são melhor usadas para segurança de thread e cenários em que as modificações são pouco frequentes.
Como investigar um aviso
Na ferramenta Uso da CPU, clique em Exibir código-fonte para descobrir onde as coleções imutáveis estão sendo modificadas. Se possível, refatore para usar uma coleção mutável no código que diferencia o desempenho e converta em uma coleção imutável somente quando necessário.