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

В основном я хочу знать, если Visual Studio, которая IDE и/или компилятор в 2010 и 2012 были записаны для использования многоядерной среды (я понимаю, что мы можем быть нацелены на многоядерные среды во всех версиях с помощью параллелизма, но это не мой вопрос).

Я пытаюсь выбрать, если я должен получить более высокие двухъядерные часы или более низкие четырехъядерные часы, поскольку я хочу попытаться выяснить, какой процессор даст мне абсолютный самый лучший опыт с Visual Studio 2010 или 2012 (v11) (язь и фоновый компилятор).

Если они выполнят самый важный раздел (фоновый компилятор и другие задачи язя) в одном ядре, то ядро будет отключено более быстрое при выполнении четырехъядерного, особенно если фоновый компилятор будет самой тяжелой задачей, я предположил бы, что это было бы трудно разделить больше чем в одном процессе, поэтому даже если это использует много ядра, Вы могли бы все еще быть более обеспеченным движением для более высоких часов ЦП, если большинство обработки все еще обязано произойти в одном ядре (т.е. старшая значащая часть среды VS).

Я - программист VB, они сделали улучшения высокой эффективности в 2010 и 2012, поздравляю (за исключением неприятного полутонового дизайна и верхнего регистра везде), но я хотел бы смочь использовать VS, беспрепятственно... у кого-либо есть какие-либо идеи? Кроме того, я не слишком волнуюсь по поводу времени загрузки решения, поскольку я только кодирую один проект за один раз.

Спасибо.

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

2 ответа

Я думаю, вам, вероятно, лучше будет использовать двухъядерный процессор с более высокой тактовой частотой. Я думаю, что 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
поделиться