Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Термин производительность обычно относится к скорости выполнения программы. Иногда можно увеличить скорость выполнения, следуя определенным основным правилам в исходном коде. В некоторых программах важно внимательно изучить код и использовать профилировщики, чтобы убедиться, что он работает как можно быстрее. В других программах не требуется выполнять такую оптимизацию, так как код выполняется приемлемо быстро по мере записи. В этой статье перечислены некоторые распространенные области, в которых производительность может страдать и советы по улучшению ее, а также ссылки на дополнительные разделы о производительности. Дополнительные сведения о планировании и измерении производительности см. в разделе "Производительность"
Упаковка и распаковка
Рекомендуется избегать использования типов значений в ситуациях, когда их необходимо много раз упаковать, например в классах неуниверсальных коллекций, таких как System.Collections.ArrayList. Вы можете избежать упаковки типов значений, используя универсальные (обобщенные) коллекции, такие как System.Collections.Generic.List<T>. Упаковка и распаковка являются процессами, требующими высоких вычислительных ресурсов. Если задан тип значения, необходимо создать совершенно новый объект. Это может занять в 20 раз больше времени, чем простое присвоение ссылки. При распаковке процесс литья может занять в четыре раза дольше, чем задание. Дополнительные сведения см. в разделе Упаковка и Распаковка.
Строки
При сцепении большого количества строковых переменных, например в жестком цикле, используйте System.Text.StringBuilder вместо оператора C# + или операторов объединения Visual Basic. Дополнительные сведения см. в статьях «Как объединить несколько строк» и «Операторы сцепления в Visual Basic».
Финализаторы
Пустые финализаторы использовать нельзя. Если класс содержит метод завершения, запись создается в очереди завершения. Когда вызывается финализатор, сборщик мусора инициируется для обработки очереди. Если финализатор пуст, это просто приводит к потере производительности. Дополнительные сведения см. в разделе «Методы завершения» и «Время жизни объектов: создание и удаление объектов».
Другие ресурсы
Написание более быстрого управляемого кода: узнайте, что стоит
Общие сведения о сборке мусора и советы по повышению производительности
Советы по производительности и рекомендации в приложениях .NET