SSD-накопители и среда разработки Visual Studio. Большие улучшения? Реальные истории использования, без теории

92

Я хочу использовать твердотельные накопители Windows 7 + Intel, чтобы ускорить цикл разработки Visual Studio 2008.

Области, которые я хочу ускорить:

  • Время компиляции / сборки
  • Открытие файлов для winforms / webforms
  • Общие "медлительности" Visual Studio для Windows и Интернета

Меня не интересует время запуска Visual Studio. Также стоимость гигабайта не является проблемой. Я хочу скорости.

Кто-нибудь уже пробовал это ( SSD-диск + Visual Studio ) и что вы можете сказать об ускорениях / падениях?

Я знаю теорию о твердотельных накопителях, но обычно доказательством пудинга является еда. Поэтому меня интересуют люди, которые действительно пробовали и тестировали установку Visual Studio с SSD ...

Джулиан де Вит
источник
Наверное, стоит спросить об этом на serverfault.com. Подробнее см. Blog.stackoverflow.com/2009/04/server-fault-private-beta-begins .
Мэтью Мердок,
2
Я думал, что это больше о программировании, но я определенно подумал об этом. Однако мне нужны были не тесты, а реальный опыт VS2008
Джулиан де Вит,
Справедливо. Я предлагал, чтобы вы спросили об этом и там (хотя это может вызвать войну пламени ...!).
Мэтью Мердок,
Вау, интересно найти вопрос старше, чем ошибка сервера, выходящий из бета-тестирования. Я искал некоторые преимущества на 2016 год (VS - это 80 чертовых гигов, а мой будущий 128 ГБ SSD может не подходить как для Windows, так и для VS ...)
Пол Стелиан

Ответы:

80

У меня есть достоверные данные по Visual C # 2008. Вкратце, лучше всего тратить деньги на более быстрый процессор, чем на более быстрый ввод-вывод . Далее следует более длинный ответ ...

Наше решение C # (.NET 3.5) содержит 81 проект с более чем 2 млн строк кода (включая комментарии и пустые строки). Пару лет назад мы перешли с ПК с процессором Pentium 4 3 ГГц со стандартными жесткими дисками на ПК с процессором Core 2 Duo 2,6 ГГц с жесткими дисками WD Raptor 10 000 об / мин (74 ГБ). Ускорение было огромным. Примерно с 10 минут до 3,5 минут. И все это в 32-разрядной среде Windows XP Pro с 4 ГБ оперативной памяти.

У нас также есть одна гигабайтная i-RAM (для информации Google), которая представляет собой жесткий диск RAM с резервным аккумулятором. В отличие от SSD, который быстро читает, но медленнее для записи, i-RAM работает быстро для обоих, но если вы потеряете заряд, батареи хватит только на 12 часов, поэтому вам нужно дисциплинировать свои проверки. Это сократило время компиляции на платформе Core 2 Dou еще на минуту (до 2,5 минут) по сравнению с жестким диском Raptor со скоростью 10000 об / мин.

С тех пор я обнаружил, что старые накопители Raptor на 74 ГБ со скоростью вращения 10000 об / мин немного медленнее, чем современные накопители со скоростью вращения 7200 об / мин из вашего сада, и мы доказали, что результаты стабильного тестирования компилируются. Мы не пробовали новые Velociraptors, но они, безусловно, будут быстрее, но, вероятно, недостаточно, чтобы окупиться только за время компиляции.

На прошлой неделе мы получили новую платформу Intel Core i7-870 с твердотельным накопителем G.Skill Falcon 128 ГБ (с контроллером Indilix Barefoot) и стандартным жестким диском на 500 ГБ в качестве второго диска. Я также вставил i-RAM в этот компьютер и протестировал все конфигурации.

По сравнению с Core 2 Duo, который компилировался за 3,5 минуты для жесткого диска и 2,5 минуты для i-RAM, i7-870 компилируется за 1 минуту 40 секунд для SSD, HDD и i-RAM плюс-минус 3 секунды.

Итак, оба раза, когда мы обновляли рабочие станции разработчиков, подавляющее большинство улучшений производительности при компиляции C # происходило за счет более быстрого процессора, а не более быстрого диска. Если вы хотите ускорить компиляцию, вкладывайте деньги в ЦП, а не в диск.

Тем не менее, SSD намного быстрее загружает Visual Studio и открывает решение (хотя у меня нет времени для этого). Если вы можете позволить себе SSD, вы никогда не вернетесь назад, поскольку каждая программа на вашем компьютере загружается намного быстрее, это невероятно. Но это не сильно ускорит ваши компиляции. И это благодаря однопоточности Visual Studio C #. Если бы Microsoft когда-нибудь объединилась и сделала свой компилятор в среде IDE многопоточным, тогда мы действительно могли бы использовать эти четыре ядра ...


Обновление, май 2012 г .: Мы снова обновили наши ПК, основываясь на том, что узнали до того, как сосредоточились на производительности ЦП. Новые ПК оснащены процессорами Intel Core i7-2600k, разогнанными до 4,6 ГГц, с твердотельным накопителем Intel 510 Series 120 ГБ с интерфейсом SATA III, 16 ГБ оперативной памяти и большим процессорным кулером! Удивительно, но это почти вдвое сократило время компиляции, и я определенно объясняю это очень большим увеличением мощности процессора, а не более быстрым SSD.

Результаты компиляции C # в Visual Studio 2010:

  • 159 секунд: стандартный Intel Core i7-870 (2,9 - 3,3 ГГц), 4 ГБ ОЗУ с SATA II SSD
  • 109 секунд: стандартный Intel Core i7-2600k (3,4 - 3,8 ГГц), 16 ГБ ОЗУ с SATA III SSD
  • 84 секунды: Intel Core i7-2600k в разгоне (4,63 ГГц), 16 ГБ ОЗУ с SATA III SSD
Бен Роббинс
источник
1
Спасибо .. Жаль, что я уже заказал компьютер-монстр SDD :) Я тоже выложу здесь свои результаты, но боюсь, они будут такими же.
Джулиан де Вит
Кстати, вы делали ASP.NET или Winforms?
Джулиан де Вит
9
Хорошо - мне нужно исправить: во-первых, вы не упомянули, какой SSD вы используете. Диски SSD подключаются напрямую к интерфейсу SATA2, это iRAM - SATA1 (130 МБ / с). Кроме того, у iRAM есть ограниченный контроллер, что не соответствует действительности. Если у вас было 2 в RAID 0, вы должны получить скорость до 200 МБ / с. Я согласен с тем, что SSD не улучшит время компиляции, но я видел, как SSD открыла визуальную студию примерно за секунду. Наконец, я не думаю, что iRAM можно рассматривать как типичный SSD-накопитель. Ваши результаты вводят в заблуждение, а факты неверны.
JL.
13
Вам нужно прочитать и, возможно, подумать, прежде чем печатать. Во-первых, я упомянул SSD, который использовал, на самом деле он выделен жирным шрифтом . Я знаю, что iRAM имеет интерфейс SATA1 и, следовательно, медленнее для чтения, чем почти все новые твердотельные накопители - я включил его, потому что у меня был один для тестирования, и потому что он на самом деле так же быстр для записи, как и для чтения, чего нет у большинства SSD. Я не тестировал с 2 в RAID, потому что у меня был только 1! Я также упомянул в последнем абзаце, что SSD намного быстрее загружает VS. Значит, все факты верны, а результаты вы согласны с ними, но вы считаете, что они вводят в заблуждение? Интересно ...
Бен Роббинс
1
@BenRobbins Вы тестировали свой проект C # вне VisualStudio с помощью флага / MP?
Джон Заброски
27

Я только что купил один, и единственное, что у меня есть, это то, что я не купил SSD раньше.

Время компиляции и раньше было нормальным, но теперь вся IDE стала намного более отзывчивой. И это не только Visual Studio, но и другие приложения. Когда вся система работает так быстро, намного проще оставаться в потоке.

Адриан Григоре
источник
4
Через несколько месяцев ... у меня такое же чувство ... В целом опыт работы с компьютером стал лучше.
Джулиан де Вит,
11

В качестве теста мы только что заказали твердотельный накопитель на базе Sandforce объемом 90 ГБ, чтобы посмотреть, поможет ли он сократить время сборки. У нас есть большой проект на C ++, для которого требуется 21 минута, чтобы выполнить полную перестройку (старый процессор Xeon 3,4 ГГц).

Проведя по три теста на каждом, разница во времени сборки была незначительной; примерно на 30 секунд быстрее.

Наша новая (!) Коробка Xeon 5150 (с жестким диском) восстанавливает тот же проект за ~ 11 минут, что говорит о том, что компиляция действительно связана с процессором.

(Это меня удивило, так как я полагал, что потрясающая производительность чтения / записи SSD с разрешением 4 КБ и 512 КБ будет очень полезна в сборках.)

user528764
источник
11

После долгих тестов производительности я получил лучшую настройку, но для компилятора C ++. Тебе понадобится:

  • SSD для Windows и программных файлов (обычно диск C:)
  • 1 ТБ WD Caviar Black в двух разделах:
    • Диск D: крошечный (максимум 35 ГБ) на стартовых цилиндрах, имеющий только папку TEMP; Вы должны сопоставить свои переменные среды TMP и TEMP с D: \ TEMP (это действительно важно !!!)
    • Диск E: с остальной частью накопителя; использовать это для общего хранения данных, за исключением материала разработки программного обеспечения
  • 1 ТБ WD Caviar Black в любом макете разделов, в котором вы хотите хранить свои проекты / решения Visual Studio 2008. Основываясь на использовании Subversion, я получил четыре раздела:
    • 820 ГБ для магистральных и общих проектов
    • 60 ГБ для «функциональной ветки»
    • 60 ГБ для «стабильной ветви», используемой во время стабилизации продукта.
    • 60 ГБ для «ветки качества продукции», используемой для мелких исправлений в утвержденном программном обеспечении.
  • 6-ядерный или 8-ядерный процессор, с использованием переключателя компилятора / MP (не путайте с встроенной функцией Visual Studio 2008 "параллельная сборка проекта" - я не знаю, почему процессор AMD Phenon II так хорошо работает с это сочетание)
  • 64-разрядная версия Windows 7 (я не совсем уверен, почему она работает быстрее в 64-разрядной ОС, даже с использованием 32-разрядного компилятора)
  • SATA 3 совместимая материнская плата

Эта установка превосходит любую другую комбинацию, которую я тестировал.

Типичная компиляция огромного модульного проекта будет иметь следующие результаты:

  • Параллельная сборка без / MP и обычных жестких дисков: около 12:00 минут
  • Предлагаемая установка: 4:30 минут
  • Эта настройка, но с использованием чередования дисков WD Caviar Green: +1:00 на диск (5:30 или 6:30 для обоих)
  • Перемещение раздела TEMP на RAMDRIVE: 5:30

Мои выводы следующие:

  • Не позволяйте папке TEMP работать на SSD, так как они плохие «писатели» и не имеют сопоставимого кеша размером 64 МБ внутри WD Caviar Black.
  • Использование выделенного диска, работающего как TEMP, позволяет обоим дискам WD работать параллельно: TEMP для временных файлов cl.exe и диск проекта для хранения * .cpp / h, * .obj, * .lib, * .exe и т. Д.
  • Алгоритмы кэширования WD Caviar Black впечатляют, в сочетании с SATA 6 ГБ / с, превосходит установку RAMDRIVE, которую я тестировал для диска TEMP
  • Разделение снижает влияние на фрагментацию, которая неизбежна в среде компилятора; то же самое верно и для привода TEMP

Я надеюсь, что смогу вам помочь.

Матиас А. Грубер
источник
1
Забыл сказать, что режим SATA должен быть в режиме AHCI.
Матиас А. Грубер
1
Однако я не уверен в части папки TEMP. Почему вы говорите, что твердотельные накопители «плохие писатели»? Что касается размера встроенного кэша, он обычно превышает 64 МБ (Vertex 4 поставляется с кеш-памятью DRAM 512 МБ, до 1 ГБ для больших дисков). И ваши плохие впечатления от RAMDRIVE действительно странные. Насколько он был большим? Где находился ваш файл подкачки? Вы уверены, что его не заменили на диск? Средняя оперативная память DDR2 имеет пропускную способность в 10 раз больше, чем SATA 6 ГБ, не говоря уже о том, что сама Windows выполняет кэширование оперативной памяти для записи на диск. И вы говорите даже не о RAID.
Groo
5

Я только что обновил ноутбук до SSD, клонировав оригинальный жесткий диск со скоростью вращения 5400 об / мин (на удивление безболезненный процесс). Я использовал секундомер для записи показателей до и после. (Dell Inspiron 1525, 3 ГБ ОЗУ, 32-разрядная версия Windows Vista)

Загрузка / запуск Windows

63 секунды -> 52 секунды

Загрузка моего решения ASP.NET Visual Studio

Другими словами, это время от нажатия на файл .sln до полной загрузки Visual Studio и начала кодирования. Я выполнил это один раз перед измерениями, потому что первый раз всегда занимает больше времени, чем последующие.

16 секунд -> 8 секунд.

Отладка

F5 на полностью загруженную домашнюю страницу.

5 секунд -> 3,5 секунды

Джеймс Лорук
источник
1
Вы сократили время загрузки всего на 21%, перейдя с 5400 об / мин на SSD? Вы должны увидеть гораздо большую выгоду от этого. Может у вас в ноутбуке недостаточно оперативной памяти?
Брайан Кендиг
@Bria Kendig Спасибо, я могу попробовать. В настоящее время у меня 3 ГБ, поэтому я могу использовать только 4 ГБ.
Джеймс Лорук
У меня есть критически важный SSD, и моя Win7 загружается за 15 секунд после полного выключения.
tunafish24
Как вы поменяли жесткий диск на твердотельный в ноутбуке Dell Inspiron?
Картик Нишант,
Я купил программное обеспечение для клонирования и небольшие отвертки на Amazon. lawruk.com/blog/40/cloned-laptop-hard-drive-to-an-crucial-ssd
Джеймс Лорук,
5

См. Статью Джоэла Спольски « Твердотельные диски» (27 марта 2009 г.).

Петер Мортенсен
источник
1
Привет, спасибо, но я думаю, что эта статья была об их собственном компиляторе, а не о VS 2008.
Джулиан де Вит,
4

Когда я купил новый компьютер, я не был уверен, что сделало мой опыт быстрее.

Однако мой коллега заменил жесткий диск на 7200 об / мин на SSD. Сразу Visual Studio (особенно запуск / отладка ASP.NET) оказалась как минимум в два раза быстрее!

Джулиан де Вит
источник
2

Я тоже обдумывал это, и некоторое время назад я купил быструю SD-карту , которую я могу вставить в ноутбук и забыть о ней, чтобы Windows Vista могла использовать функцию ReadyBoost . Кажется, это имеет значение, но этого явно недостаточно, чтобы гарантировать покупку SSD-накопителя только для этого.

Затем я начал сталкиваться с проблемами при обновлении Subversion и решил отказаться от идеи ReadyBoost и смонтировать SD-диск в точку монтирования, где я затем создал все свои файлы проекта. SD-карта не очень большая (1 ГБ), но она, безусловно, сократила время ожидания сборок и значительно ускорила отладку.

По большей части это субъективно, и я отвечаю на вопрос, требующий фактов: «Я чувствую это» и «Я чувствую то». Из-за того, что я экспериментировал с запуском файлов Visual Studio с другого диска, я определенно считаю, что это будет иметь значение. Сколько и сколько я готов заплатить за это - вопрос, на который я также с нетерпением жду ответа. Мой ноутбук может работать с другим жестким диском, и я не мог выбрать между SDD и 7200 об / мин.

Петер Мортенсен
источник
1
Привет, спасибо .. У меня были примерно такие же результаты с переключением с 7200 на 10.000 велоцирапторов .. Как-то это было немного быстрее, но не новаторским. Я надеялся, что SSD были революционными ...
Джулиан де Вит,
1
Я не думаю, что Velociraptors - это SSD-накопители, просто для ясности.
Бретт