В последнее время я потратил много времени на изучение вопросов повышения производительности .net, а также нашел много полезной информации на веб-сайте MS. По моим оценкам, все использовали некоторые из следующих материалов. В надежде, что я публикую их здесь. что это будет полезно для всех, кто помог.
Советы по повышению производительности для всех приложений:
выбрасывайте меньше исключений
Совершайте короткие звонки
Проектирование с использованием типов значений
Используйте AddRange для добавления групп
Сократите свой рабочий набор
Использование циклов For для итерации строк — версия 1
Используйте StringBuilder для сложных манипуляций со строками
Предварительная компиляция приложений Windows Forms
Используйте неровные массивы — версия 1
Сохраняйте размер буфера ввода-вывода между 4 и 8 КБ.
Следите за возможностями асинхронного ввода-вывода.
Советы по повышению производительности для приложений ASP.NET,
активно кэширующих данные.
Используйте состояние сеанса только в случае необходимости
Используйте состояние просмотра только в случае необходимости
Избегайте STA COM
Пакетная компиляция
Удалите ненужные HTTP-модули
Избегайте функции Autoeventwireup
Кодируйте с использованием ASCII, когда вам не нужен UTF
Используйте оптимальную процедуру аутентификации
Приложение: Стоимость виртуальных вызовов и распределений
Тип вызова Кол-во вызовов/сек.
ValueType Невиртуальный вызов 809971805.600
Класс невиртуального вызова 268478412.546
Класс виртуального звонка 109117738.369
ValueType Virtual (метод Obj) Вызов 3004286.205
ValueType Virtual (переопределенный метод Obj) Вызов 2917140.844
Тип нагрузки по Newing (нестатический) 1434.720
Тип загрузки по Newing (виртуальные методы) 1369,863
Подробнее: http://msdn.microsoft.com/library/en-us/dnpag/html/scalenet.asp?frame=true
Источник: БЛОГ Minbear.