Была Visual Studio 2008, 2010 или 2012 (v11), записанный для использования много ядер?

Получите проводник процесса от sysinternals (теперь Microsoft)

Проводник Процесса - Windows Sysinternals | Microsoft Docs

16
задан Erx_VB.NExT.Coder 26 August 2012 в 16:53
поделиться

4 ответа

Я думаю, вам, вероятно, лучше будет использовать двухъядерный процессор с более высокой тактовой частотой. Я думаю, что VS (и большинство современных приложений) еще не пользуется большими преимуществами многопоточности. VS может иметь десятки запущенных потоков, но я думаю, что только некоторые операции действительно хорошо их используют. Большая часть реализации VS - это компоненты C ++ COM, которые работают в потоке STA, поэтому поток пользовательского интерфейса выполняет основную часть работы во многих сценариях. Тот факт, что многие части оболочки VS переписываются в управляемом коде как часть VS2010, поможет сломать гораздо больше этих древних зависимостей STA компонентов. Как уже упоминали другие, некоторые ключевые сценарии (например, создание большого решения) уже используют преимущества нескольких ядер (MSBuild хорошо работает параллельно), поэтому, если они доминируют в том, что вас волнует, тогда больше ядер - лучше. Но что касается таких вещей, как использование IDE UI и фоновая компиляция, я думаю, что большинство из них по-прежнему в основном однопоточные. У меня есть четырехъядерный процессор, и я редко вижу, чтобы VS2008 использовал более 25% ресурсов моего процессора. (Я недостаточно серьезно использовал VS2010, чтобы знать, какие сценарии лучше, хотя я знаю, что по крайней мере некоторые из них лучше.)

8
ответ дан 30 November 2019 в 16:14
поделиться

MSBuild поддерживает параллельную сборку проектов. Visual Studio 2008 использует преимущества нескольких процессоров для компиляции проектов .

13
ответ дан 30 November 2019 в 16:14
поделиться

Как отметили другие люди, MSVS 2010 действительно использует несколько процессов для компиляции. Однако это не означает автоматического уменьшения времени компиляции. Я только что провел тест с проектом C++ среднего размера (около 200 файлов). Он собирался быстрее на Dual Core с частотой 3,4 ГГц, чем на Quad Core с частотой 2,8 ГГц. Хотя процессор Dual Core дешевле. (Системы практически идентичны с 4GiB DDR2 Ram каждая). Должен также отметить, что во время компиляции процессор Dual Core был загружен на 70%. Как видите, если VS2010 не может полностью загрузить даже 2 ядра, то какой смысл иметь 4 или более?

.
11
ответ дан 30 November 2019 в 16:14
поделиться