Які компоненти ПК роблять найбільший вплив на час вашої компіляції для Visual Studio?


16

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


1
Це не питання програмування? Чи матиме це більша аудиторія на StackOverflow?
Kurt W. Leucht

Відповіді:



13

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

Деякі антивірусні продукти не дуже добре справляються з розробкою програмного забезпечення - вони бачать, що всі ці програми додатків перезаписуються, підозрюють недобросовісну програму та переглядають кожен файл кожен раз.

(Див. Https://stackoverflow.com/questions/1170078/is-it-usual-for-aspx-files-to-take-5-10-seconds-to-save/1170129#1170129 для більше.)

З іншого боку, якщо ви хочете покращити продуктивність існуючої машини, ніщо не перевищує максимум доступної пам’яті для швидкої виграші.


ПК в офісі використовує TrendMicro OfficeScan. У мене вдома ноутбук Dev використовує AVG 8.
Роб Аллен

3
"Тенденційний мікро". О Боже. Якщо ви не можете щось змінити на щось інше, поцілуйтесь на будь-який виступ взагалі.
Беван

8

Ось кілька приємних досліджень Скотта Хензельмана щодо використання декількох процесорів для MSBUild. Прискорення швидкості досить драматичні.

Редагувати: Я мушу зазначити, що для того, щоб мати гарний досвід використання Visual Studio, вам потрібно багато оперативної пам’яті. :)


+1 Гарна стаття по темі. Я про це забув. Я думаю, що він також зробив подкаст з цього приводу.
BinaryMisfit

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 виявив різні зміни, які можуть покращити час компіляції.

Нещодавно Джоел розмістив інформацію про вплив твердотілих дисків на компіляції тут . Швидкість диска, як правило, не значно покращує час компіляції. Однак відповідно до цього це робить ефект, як вказував лінгбім .


1

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

Ефект (позитивний чи негативний) на ваш макет програмного забезпечення збільшується для кожного члена вашої команди та кожного складання, яке вони виконують.


Чи є у вас посилання, що описує різні структури коду, будь ласка. Я думаю, я знаю, про що ви маєте на увазі, але я не впевнений.
Роб Аллен

У мене виникають проблеми з пошуку своїх посилань, але загальна ідея полягає в тому, щоб 1) використовувати переадресаційні декларації, де це можливо, 2) включати файли лише тоді, коли пряма декларація не працюватиме, і 3) переконайтеся, що включений у вас файл не декларує більше речі, ніж це потрібно, а це, в свою чергу, може включати в себе більше файлів, які вам інакше не потрібні для компільованого конкретного вихідного файлу (він також залишає малі заголовки та використовуйте в них декларації вперед, як і для вихідних файлів).
Сем Харвелл

1

Xoreax IncrediBuild - це система розподіленої збірки, яка зробила величезне вдосконалення за час компіляції, коли я працюю. (На жаль, час зв’язків все ще досить довгий, зокрема, версії версій за допомогою оптимізації цілої програми та генерації коду в часі, але цього варто очікувати.)

alt текст

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.