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