Dicas de desempenho do .NET

 

O termo desempenho geralmente se refere à velocidade de execução de um programa. Você às vezes pode aumentar a velocidade de execução ao seguir determinadas regras básicas no código-fonte. Em alguns programas, é importante examinar atentamente o código e usar perfis para certificar-se de que ele seja executado mais rápido possível. Em outros programas, você não precisa executar essa otimização, porque o código está em execução aceitável rápida conforme eles são gravados. Este artigo lista algumas áreas em que o desempenho pode ser afetado e dicas para melhorar a ele, bem como links para tópicos adicionais de desempenho comuns. Para obter mais informações sobre como planejar e medir o desempenho, consulte Desempenho do .NET Framework

Conversão boxing e unboxing

É melhor evitar o uso do valor de tipos em situações em que eles devem ser convertido um grande número de vezes, por exemplo, em classes de coleções não genéricas como System.Collections.ArrayList. Você pode evitar a conversão boxing de tipos de valor usando coleções genéricas, como System.Collections.Generic.List<T>. Conversões boxing e unboxing são processos dispendioso. Quando um tipo de valor é convertido, um objeto totalmente novo deve ser criado. Isso pode levar até 20 vezes mais de uma atribuição de referência simples. Quando unboxing, o processo de conversão pode levar quatro vezes desde que uma atribuição. Para obter mais informações, consulte Boxing e unboxing.

Cadeias de caracteres

Ao concatenar um grande número de variáveis de cadeia de caracteres, por exemplo um loop estreito, use System.Text.StringBuilder em vez de c# operador + ou o Visual Basic operadores de concatenação. Para obter mais informações, consulte Como concatenar várias cadeias de caracteres (Guia de Programação em C#) e Operadores de concatenação no Visual Basic.

Destruidores

Destruidores vazios não devem ser usados. Quando uma classe contém um destruidor, uma entrada é criada na fila de finalização. Quando o destruidor é chamado, o coletor de lixo é chamado para processar a fila. Se o destruidor for vazio, isso simplesmente resulta em uma perda de desempenho. Para obter mais informações, consulte Destruidores (Guia de Programação em C#) e Tempo de vida do objeto: como os objetos são criados e destruídos (Visual Basic).

Outros recursos

Confira Também

Desempenho do .NET Framework
Conceitos de programação
Guia de programação do Visual Basic
Guia de Programação em C#