Советы по производительности .NET
Термин производительность обычно относится к скорости выполнения программы.Иногда можно увеличить скорость выполнения, следуя определенным основным правилам в исходном коде.В некоторых программах важно внимательно изучить код и использовать профилировщики, чтобы гарантировать, что он выполняется максимально быстро.В других программах нет необходимости выполнять такую оптимизацию, поскольку код выполняется приемлемо быстро при его написании.В этой статье список общих областей, в которых может пострадать производительность, а также советы по совершенствованию, ссылки на дополнительные разделы о производительности.Дополнительные сведения о планировании и измерении производительности см. в разделе .NET Framework Performance.
Упаковка–преобразование и распаковка–преобразование
Лучше всего избегать использования типов значений в случаях, когда они должны быть упакованы много раз, например в не универсальных классах коллекций, например, System.Collections.ArrayList.Упаковки-преобразования типов значений можно избежать с помощью универсальных коллекций, например, System.Collections.Generic.List<T>.Упаковка и распаковка являются процессами, требующими с точки зрения вычислений больших затрат.При упаковке типа значения должен быть создан совершенно новый объект.Это действие занимает на 20 минут больше времени, чем назначение простой ссылки.При распаковке процесс приведения может длиться в четыре раза дольше назначения.Дополнительные сведения см. в разделе Упаковка–преобразование и распаковка–преобразование.
Строки
При объединении большого количества строковых переменных, например в непрерывном цикле, используйте System.Text.StringBuilder вместо оператора + в C# или операторов объединения в Visual Basic.Дополнительные сведения см. в разделах Практическое руководство. Сцепка нескольких строк (Руководство по программированию на C#) и Операторы объединения в Visual Basic.
Деструкторы
Пустые деструкторы использовать не следует.Если класс содержит деструктор, в очереди финализации будет создана запись.При вызове деструктора вызывается сборщик мусора, выполняющий обработку очереди.Если деструктор пустой, происходит снижение производительности.Дополнительные сведения см. в разделах Деструкторы (Руководство по программированию в C#) и Время существования: создание и уничтожение объектов (Visual Basic).
Другие ресурсы
См. также
.NET Framework Performance
Основные понятия программирования
Руководство по программированию на Visual Basic
Руководство по программированию на C#