16

Какие спецификации ПК оказывают наибольшее влияние на время компиляции? Диск? Тактовая частота? Количество ядер процессора?

7 ответов7

13

Фактор, который я обнаружил, имеет самое большое значение не физический, а программный: какой антивирус вы установили?

Некоторые антивирусные продукты не очень хорошо справляются с разработкой программного обеспечения - они видят, что все эти файлы приложений переписываются, подозревают нечестную игру и каждый раз заново сканируют каждый файл.

(Подробнее см. Https://stackoverflow.com/questions/1170078/is-it-usual-for-aspx-files-to-take-5-10-seconds-to-save/1170129#1170129 .)

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

9

Скотт Гу также написал о том, что влияет на скорость сборки, указав в основном на ресурсы ввода-вывода, такие как жесткий диск.

http://weblogs.asp.net/scottgu/archive/2007/11/01/tip-trick-hard-drive-speed-and-visual-studio-performance.aspx

8

Вот небольшое исследование Скотта Хансельмана об использовании нескольких процессоров для MSBUild. Ускорения довольно драматичны.

Изменить: Однако я должен отметить, что для того, чтобы иметь хороший опыт использования Visual Studio, вам нужно много оперативной памяти. :)

4

Мой личный опыт работы с просторной базой кода C++:

Старая машина

Процессор: Pentium 4 HT 3,06 ГГц
Память: 1 ГБ оперативной памяти DDR (ПК 2100, т. Е. 333 МГц)
Диск: жесткий диск 7200 об / мин (UDMA 100, если память служит)
Время компиляции: 50 минут

Новая машина:

Процессор: Core i7 720QM (8 логических процессоров) с тактовой частотой 1,6 ГГц, турбонаддув до 1,73 ГГц, когда все ядра активны
Память: 8 ГБ оперативной памяти DDR3 на частоте 1066 МГц
Диск: жесткий диск 7200 об / мин (SATA 2)
Время компиляции: 4 минуты/ МП)


Вывод: чем больше процессоров, тем лучше - даже на относительно низких тактовых частотах. SSD улучшит время еще больше, но из-за наблюдения за сообщениями компиляции, я сомневаюсь, что это улучшит его более чем на 30 секунд или около того.

3

Насколько я помню в основном процессор и память. Быстрый Google обнаружил различные настройки, которые могут улучшить время компиляции.

Джоэл недавно написал о влиянии твердотельных дисков на компиляции здесь. Скорость диска, как правило, не улучшает время компиляции. Однако в соответствии с этим он действительно имеет эффект, на который указывает lyngbym.

1

Для сборки программ на C++ фактор # 1, прежде всего, является структурным - если исходный код сильно структурирован по вертикали, это окажет разрушительное влияние на время сборки, особенно при добавочной сборке. Я локально реструктурировал несколько частей проекта для кардинального улучшения четырехъядерного Xeon. 18 месяцев спустя, и они (люди, которые владеют проектом) все еще не могут сравниться с моим временем сборки настенных часов даже на машинах с Core i7.

Эффект (положительный или отрицательный) вашего макета программного обеспечения умножается на каждого члена вашей команды и каждую сборку, которую они выполняют.

1

Xoreax IncrediBuild - это распределенная система сборки, которая значительно улучшила время компиляции, где я работаю. (К сожалению, время ссылки все еще довольно велико, особенно в сборках релизов, использующих оптимизацию всей программы и генерацию кода во время соединения, но этого и следовало ожидать.)

альтернативный текст

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .