Відповіді:
Скотт Гу також розмістив інформацію про те, що впливає на швидкість побудови, вказуючи в основному на ресурси вводу / виводу, такі як жорсткий диск.
Фактор, який я знайшов, робить найбільшу різницю не фізичним фактором, а програмним: який антивірус ви встановили?
Деякі антивірусні продукти не дуже добре справляються з розробкою програмного забезпечення - вони бачать, що всі ці програми додатків перезаписуються, підозрюють недобросовісну програму та переглядають кожен файл кожен раз.
(Див. Https://stackoverflow.com/questions/1170078/is-it-usual-for-aspx-files-to-take-5-10-seconds-to-save/1170129#1170129 для більше.)
З іншого боку, якщо ви хочете покращити продуктивність існуючої машини, ніщо не перевищує максимум доступної пам’яті для швидкої виграші.
Ось кілька приємних досліджень Скотта Хензельмана щодо використання декількох процесорів для MSBUild. Прискорення швидкості досить драматичні.
Редагувати: Я мушу зазначити, що для того, щоб мати гарний досвід використання Visual Studio, вам потрібно багато оперативної пам’яті. :)
Мій особистий досвід роботи із кодовою базою 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 секунд.
Наскільки я пам'ятаю в основному процесор і пам'ять. Швидкий google виявив різні зміни, які можуть покращити час компіляції.
Нещодавно Джоел розмістив інформацію про вплив твердотілих дисків на компіляції тут . Швидкість диска, як правило, не значно покращує час компіляції. Однак відповідно до цього це робить ефект, як вказував лінгбім .
Для побудови програм C ++ фактор №1, перш за все, є структурним - якщо вихідний код сильно вертикально структурований, він матиме руйнівний вплив на час збирання, особливо на інкрементні складання. Я локально реструктуризував декілька частин проекту для кардинального вдосконалення чотирьохядерного Xeon. Через 18 місяців вони (люди, які є власниками проекту) досі не можуть відповідати моїм наборам часу виготовлення навіть на машинах Core i7.
Ефект (позитивний чи негативний) на ваш макет програмного забезпечення збільшується для кожного члена вашої команди та кожного складання, яке вони виконують.
Xoreax IncrediBuild - це система розподіленої збірки, яка зробила величезне вдосконалення за час компіляції, коли я працюю. (На жаль, час зв’язків все ще досить довгий, зокрема, версії версій за допомогою оптимізації цілої програми та генерації коду в часі, але цього варто очікувати.)