Компилятор Visual Studio 2005 C++ медленнее, чем компилятор Visual Studio 6?

Один из наших старых проектов на C++ все еще работает с Visual Studio 6. Раз в год я пытаюсь преобразовать его в более высокую версию Visual Studio, но это нелегко, потому что не весь код написан нами. Как бы то ни было, мне наконец удалось преобразовать проект в VS2005 после исправления нескольких сотен строк кода. Но составление проектов занимает очень много времени! Гораздо дольше, чем в VS6.

Некоторые классы имеют много строк кода, даже несколько тысяч. Это просто массивы, которые нужно заполнить в коде множеством элементов. Я знаю, что это не идеальное решение, но так оно и есть в настоящее время, и у VS6 никогда не было проблем с этим.

Возможно, есть только некоторые настройки, которые я должен настроить, чтобы ускорить процесс, но если он останется таким, как сейчас, я оставлю его как проект VS6, так как я не хочу сидеть за столом весь день, ничего не делая.

Есть идеи?

5 ответов

Решение

VS2005 производит более оптимизированный код и, следовательно, должен тратить дополнительное время на выяснение того, как сделать его быстрее.

Различия во времени компиляции нормальны. Компилятор C++ из VS2005 значительно более соответствует стандарту C++, чем VC6. Существует огромная разница между этими двумя компиляторами.

Посмотрите, сможете ли вы найти самые маленькие модули, которые быстро и очень медленно компилируются в VS05, и посмотрите, что у них нет общего. Добавляйте элементы из медленного модуля в быстрый, пока не получите внезапное замедление. Это является причиной проблемы.

Звучит так, как будто вы на несколько лет отстали в своем "обновлении раз в год", нет?

Убедитесь, что вы не отключили предварительно скомпилированные заголовки.

Получить Incredibuild.

Определенно стоит денег, которые вы платите за это.
То, что он делает - делегирует компиляцию файлов неактивным "агентам" сборки в сети, возвращает результаты и связывает их с координатором сборки. Чем больше машин, тем лучше. Я был впечатлен сокращением времени сборки.

Другие вопросы по тегам