У нас есть приложение VB6, которое запускает наш код .NET при запуске.
Холодный запуск занимает примерно 22 секунды на компьютере с Windows XP. Тёплый старт - около 4 секунд на одной машине.
Windows Vista / 7 занимает около 5 секунд для холодного запуска и около 3 секунд для горячего запуска.
Исходя из вышеизложенного, я предполагаю, что задержки связаны с доступом к диску, а Vista / 7 не подвержена влиянию SuperFetch.
Очевидно, нам нужно улучшить производительность холодного запуска для XP. Я подумываю о создании «прогревающего» приложения, которое запускается в системном трее при запуске Windows ... но прежде чем мы потратим усилия, я хотел посмотреть, есть ли другие предложения.
Я пытался создать наши сборки, и, похоже, это ничего не меняет.
После добавления некоторого кода трассировки я вижу, что код VB6 пересекает границу .NET всего за 1 секунду ... но код инициализации в .NET занимает около 20 секунд. Это имеет некоторое отражение, и я предполагаю, что задержка загрузки сборок GAC с диска ... но я не могу быть полностью уверен.
Предложения