Я работаю над средним решением ASP.NET MVC с Visual Studio 2010 и Resharper. Проект стремительно развивался, когда я начал разрабатывать его 1 1/2 года назад, но со временем он стал медленнее - не только компиляция, но и время, необходимое ASP.NET для повторной инициализации веб-сайта. Поскольку я часто практикую TDD и рефакторинг, мне часто приходится перекомпилировать повторный запуск моих тестов, поэтому я ищу способы смягчить это, если это возможно.
Подробнее о проблеме
Мне требуется около 20-25 секунд, чтобы перекомпилировать проект, чтобы просмотреть результат в веб-браузере.
Запуск одиночного unit test (только одного теста, а не всего пакета) с тестовым бегуном Resharper также очень медленный (около 15-20 секунд). По какой-то странной причине кажется, что Resharper занимает большую часть времени, инициализируя тестовый прогон, и тратит только очень небольшую долю, фактически выполняющую тест.
Что я уже сделал:
- Заменен мой жесткий диск SSD (огромное влияние)
- Перемещенная компиляция ASP.NET и каталог каталога Windows Temp на SSD-подобный (аппаратный) привод RAM (большое влияние, но это было до SSD).
- Отключить автоматическую компиляцию одного проекта, который я редко изменяю (небольшое влияние, поскольку этот проект в любом случае мал).
- Изменили ненужные ссылки на .NET и сторонние библиотеки (очень небольшое влияние, если они есть)
- Некоторые черные магические трюки обсуждаются в этом сообщении в блоге. (очень небольшое воздействие, если таковое имеется).
Но я все еще придерживаюсь (медленных?) цифр выше, и я чувствую, что это вредит моей производительности. Теперь мне интересно, что делать дальше.
Моя текущая настройка системы:
- Core 2 Quad Q6600 CPU
- 4 ГБ DDR2 800 RAM
- 120 ГБ SSD
- Windows 7 x64
- Visual Studio 2010 Ultimate с Resharper 5.5
Технические характеристики моего решения:
- 22.000 строк .NET 4 С# Code
- 3 проекта: один ASP.NET MVC, один тестовый проект, одна крошечная библиотека общего назначения включена двумя другими и которые я не компилирую, если что-то не изменилось.
- 35 ссылок на другие библиотеки (среда .NET и материалы с открытым исходным кодом)
- ~ 200 просмотров
- 850 единиц измерения
Теперь мои вопросы:
- Возможно, обновление моей памяти до 8 ГБ может привести к значительному повышению производительности?
- Являются ли эти цифры нормальными? Или, возможно, это может быть проблемой с моим решением?
- Что бы вы попробовали дальше (помимо покупки совершенно нового компьютера)?
Спасибо,
Адриан
Изменить:. Особенно странно, что, когда я нажимаю кнопку "build solution", Visual Studio тратит около 8 секунд, показывая мне символ ожидания, пока он фактически не начнет компиляцию, и окно компиляции обновлено. В течение этого периода IDE не реагирует. Это хорошая часть фактического времени компиляции. Интересно, что Visual Studio делает за этот период?