Целесообразно ли брать SSD для ускорения компиляции больших библиотек?

Назрел вопрос еще давно, с компиляции Qt 4.4, по-моему. Обычно полная сборка Qt занимает около часа со всеми приблудами, однако полностью пересобирать приходится часто. Сейчас, с выходом Qt 4.8.1 стало еще плачевней. Насколько я понимаю узким местом для сборки является ЖД. Процессор и память вроде не плохие Intel i5 SB и Kingston KVR1333D3S9/4G 1333 МГц. Сборку произвожу в 4-5 потоков.
  • Вопрос задан
  • 6367 просмотров
Пригласить эксперта
Ответы на вопрос 10
Чтобы понять, является ли жесткий диск узким местом достаточно создать диск в оперативной памяти и собраться на нем.
Что-то мне подсказывает, что для сборки нет необходимости в 4Gb оперативной памяти, поэтому ОС может использовать её для кэширования файлов. Поэтому жесткий диск не должен быть узким местом. Узким местом будет процессор.
Ответ написан
amarao
@amarao
Просто возьмите больше памяти. По деньгам будет так же, а скорость вы получите такую, что все ssd будут нервно курить в углу. tmpfs, brd — на выбор.

ЗЫ SSD на самом деле на запись не такие уж и быстрые.
Ответ написан
Комментировать
@MikhailEdoshin
Я может, не все понимаю, но зачем часто пересобирать стороннюю библиотеку? В смысле, вы ее пересобираете больше одного раза для одной и той же платформы/архитектуры/комбинации настроек?
Ответ написан
Sild
@Sild
У SSD же вроде огромные проблемы с количеством возможный перезаписей, так что если денег не жалко…
Ответ написан
ixSci
@ixSci
На SSD будет быстрее. Насколько? Неизвестно.
Пересобирать Qt часто это, знаете ли, извращение, кстати.
Ответ написан
@tenzink
На нашем проекте (C++) влияние SSD следующее:
— Полная пересборка почти не поменялась (почти всё помещается в в память)
— Инкрементальная сборка ускорилась в 3-20 раз

Для ускорения инкрементальной сборки SSD — бесценная вещь.
Для ускорения полной сборки важны:
— память. Когда всё влезает в память в процессе — хорошо, нет пойдут тормоза (возможно SSD немного поможет)
— процессор. Рост скорости почти пропорционален «мощности» процессора
Наблюдения основаны на разных конфигурациях систем в нашем офисе

P.S. VS 2010, 15 Gb RAM, i7 2.8Ghz
Ответ написан
Комментировать
@Nikolay45
Сам использую три SSD и полтора десятка установил клиентам. Ещё ни один не умер от выработки ресурса, только Crucial M4-256 в боксе сдох при переключении между USB портами. Регулярно обновляю прошивки. Теперь по сути вопроса. Я использую упрощённую процедуру выявления узкого места в дисковой подсистеме РС. Смотрю на красный индикатор активности накопителя и запускаю приложение наиболее критичное для клиента. Если индикатор не успевает гаснуть в процессе работы приложения, т.е. обработка данных идёт гораздо быстрее, чем команды обращения к накопителю(не важно, на чтение или запись), то настоятельно рекомендую использование SSD. Сравнивать ЖД и SSD по скорости линейного чтения/записи не совсем корректно, нам важнее количество обращений в секунду, которые способны обработать эти накопители. По данному показателю ЖД отстаёт в десятки и сотни раз от SSD.
Ответ написан
Комментировать
Собираю проект на ультрабуке и на десктопе, в ультабуке SSD, в обоих 8GB оперативки, в обоих i5 но в ноуте, разумеется, более медленный. Проект относительно небольшой, но процесс сборки проходит 4 раза (под разные платформы) — в MinGW/gcc и в VC. Отдельно по компиляторам не засекал, но в целом сборка на ноуте с SSD и более медленным процессором почти вдвое быстрее.
Ответ написан
Комментировать
TheHorse
@TheHorse
На Visual Studio C++ проект в 40 000 строк 2:50 минут на винте и 2:10 на SSD Vertex 4. Проц — Core i7-3770K.
Ответ написан
Комментировать
Лучше ускорять, перенося сразу диск в память
memory.dataram.com/products-and-services/software/ramdisk/
раз в Х минут (настраивается) образ сохраняется на диск в файл, поэтому даже при неожиданном выключении питания много не потеряется
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы