Фактор, который я обнаружил, имеет самое большое значение не физический, а программный: какой антивирус вы установили?
Некоторые антивирусные продукты не очень хорошо справляются с разработкой программного обеспечения - они видят, что все эти файлы приложений переписываются, подозревают нечестную игру и каждый раз заново сканируют каждый файл.
С другой стороны, если вы хотите улучшить производительность существующей машины, ничто не сравнится с максимальным использованием доступной памяти для быстрого выигрыша.
ПК в офисе использует TrendMicro OfficeScan. Мой домашний ноутбук использует AVG 8.
Rob Allen 14 лет назад
0
«Тренд Микро». О, Боже. Если ты не можешь изменить это на что-то другое, поцелуй на прощание с любым представлением вообще.
Bevan 14 лет назад
3
9
lyngbym
Скотт Гу также написал о том, что влияет на скорость сборки, указав в основном на ресурсы ввода-вывода, такие как жесткий диск.
Вот небольшое исследование Скотта Хансельмана об использовании нескольких процессоров для MSBUild. Ускорения довольно драматичны.
Изменить: Однако я должен отметить, что для того, чтобы иметь хороший опыт использования Visual Studio, вам нужно много оперативной памяти. :)
+1 Хорошая статья по теме. Я забыл об этом. Я думаю, что он также сделал подкаст по этому поводу.
BinaryMisfit 14 лет назад
0
4
mmyers
Мой личный опыт работы с просторной базой кода 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
BinaryMisfit
Насколько я помню в основном процессор и память. Быстрый Google обнаружил различные настройки, которые могут улучшить время компиляции.
Джоэл недавно написал о влиянии твердотельных дисков на компиляции здесь . Скорость диска, как правило, не улучшает время компиляции. Однако в соответствии с этим он действительно имеет эффект, на который указывает lyngbym .
1
bk1e
Xoreax IncrediBuild - это распределенная система сборки, которая значительно улучшила время компиляции, где я работаю. (К сожалению, время ссылки все еще довольно велико, особенно в сборках релизов, использующих оптимизацию всей программы и генерацию кода во время соединения, но этого и следовало ожидать.)
1
Sam Harwell
Для сборки программ на C ++ фактор # 1, прежде всего, является структурным - если исходный код сильно структурирован по вертикали, это окажет разрушительное влияние на время сборки, особенно при добавочной сборке. Я локально реструктурировал несколько частей проекта для существенного улучшения четырехъядерного Xeon. 18 месяцев спустя, и они (люди, которые владеют проектом) все еще не могут сравниться с моим временем сборки настенных часов даже на машинах с Core i7.
Эффект (положительный или отрицательный) макета вашего программного обеспечения умножается на каждого члена вашей команды и каждую сборку, которую они выполняют.
У вас есть ссылка, которая описывает различные структуры кода, пожалуйста. Я думаю, я знаю, что вы имеете в виду, но я не уверен.
Rob Allen 14 лет назад
0
У меня возникают проблемы с поиском ссылок, но общая идея состоит в том, чтобы: 1) использовать предварительные объявления, где это возможно, 2) включать файлы только тогда, когда предварительное объявление не работает, и 3) убедиться, что включаемый файл не объявляет больше все, что необходимо, что, в свою очередь, может привести к тому, что в него будет включено больше файлов, которые вам не нужны для конкретного скомпилированного исходного файла (иначе говоря, сохраняйте ваши заголовки небольшими и используйте в них предварительные объявления, как вы делаете это для исходных файлов).
Sam Harwell 14 лет назад
0