Не относится к VS, но в Eclipse я помню, как мог указать количество ядер, и он запускал бы процесс gcc для такого количества ядер, которое вы указали. Процесс связывания по-прежнему должен выполняться на одном ядре (пока компоновщик на самом деле не работает многопоточно).
На самом деле он чувствовал себя намного быстрее (может быть, в 2 раза быстрее?) Только с гиперпоточностью. Снова; Я полагаю, что виноваты диски;
Никогда не думал о том, чтобы разделить файл каждого процесса (исходный, временный, сборочный, промежуточный) на разные жесткие диски; но если вам это нравится, вам лучше создать RAM-диск (может быть, 128-256 Мб) и использовать его для промежуточных файлов. Очевидно, вы можете хранить исходные файлы на реальном диске (если хотите); Но я был бы рад оставить все в оперативной памяти и просто возвращаться в SVN каждые полчаса или около того или делать копии на реальном диске.
RAM диск идеально подходит для временных, промежуточных и сборочных файлов. Вы всегда можете скопировать файлы сборки с оперативного диска, как только будете довольны.
Диск памяти, который я использую, - это Microsoft Windows 2000; Он не «официально» поддерживается, но работает нормально на XP и работает без проблем в течение прошлого года. Немного раздражает задавать размеры диска и перезапускать, а что нет, но как только он заработает, вы будете обращаться с ним как с диском.