Разница во времени компиляции между выпуском и режимом отладки

У меня есть файл sln для компиляции исходного кода c. когда я компилирую это в VS2008 в режиме выпуска, компиляция кода занимает около 4 минут. Но в режиме отладки компиляция кода занимает всего 1 минуту. Я не понял разницу в режиме выпуска и режиме отладки.

Кто-нибудь может мне помочь в этом?

3 ответа

Оптимизатор включен по умолчанию в конфигурации выпуска. Да, ему нужно время, чтобы сделать свою работу. Линкер также больше не делает инкрементные ссылки, что может иметь большое значение.

Вы никогда не заботитесь об этом, выпуски сборок - это то, что вы делаете, когда делаете или оставляете на сервер сборки.

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

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

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