Оптимизация запуска приложений .NET - Проверка Authenticode

ОГЛАВЛЕНИЕ

Проверка Authenticode

Сборки можно подписать с помощью сертификата Authenticode, используя средство signcode. Проверка Authenticode всегда негативно влияет на запуск, так как подписанные с помощью Authenticode сборки должны проверяться центром сертификации (CA). Проверка требует перепроверки CA, использованного для подписи сборок, а это очень ресурсоемкая операция, связанная с доступом в сеть (если CA не установлен локально на том же компьютере).

Лучше всего избегать сборок, подписанных с помощью Authenticode и использовать вместо них подписи строгими именами. Если подпись Authenticode необходима, в .NET Framework 3.5 проверку можно опустить с помощью следующего параметра конфигурации:

<configuration>
   <runtime>
     <generatePublisherEvidence enabled="false"/>
   </runtime>
</configuration>

Заметьте, однако, что даже в том случае, когда необходима подпись Authenticode, время проверки подлинности можно сильно сократить, просто установив сертификат CA на компьютер клиента.

Выводы

Получить хорошую скорость холодного запуска можно, в первую очередь, за счет лаконичности кода, выполняемого при запуске. Нужно отложить инициализацию, которая не является строго необходимой, проверить, чтобы ссылки не загружались слишком рано и попытаться использовать такие классы и методы, которое не загружают много кода. Помните, задача – сократить обращения к диску. Это нелегко, но Xperf, новое, полезное средство, включенное в новый разрабатываемый Windows Server® 2008 SDK, использует трассировку событий для Windows (ETW) для слежения за загруженными модулями, переключениями контекста и другими событиями, чтобы лучше определять, что происходит при запуске приложения. С помощью XPerf станет возможно собирать очень точные данные о времени запуска приложений. Боковая панель «Материалы о скорости запуска» содержит ссылки на дополнительную полезную информацию.

Клаудио Калдато (Claudio Caldato) руководитель проекта разработки Сборщика мусора в команде CLR корпорации Майкрософт.