У меня есть файл sln для компиляции исходного кода c. когда я компилирую это в VS2008 в режиме выпуска, компиляция кода занимает около 4 минут. Но в режиме отладки компиляция кода занимает всего 1 минуту.
Я не понял разницы в режиме Release и режиме отладки.
Кто-нибудь может мне помочь в этом?
Оптимизатор включен по умолчанию в конфигурации выпуска. Да, ему нужно время, чтобы сделать свою работу. Линкер также больше не делает инкрементные ссылки, что может иметь большое значение.
Вы никогда не заботитесь об этом, сборка релизов — это то, что вы делаете, когда делаете или оставляете на сервер сборки.
При сборке в режиме отладки вся дополнительная работа, которую выполняет компилятор, — это добавление отладочной информации (чтобы упростить, в основном, таблицу всех символов), это очень просто и идет быстро. При сборке в режиме релиза компилятор выполняет много оптимизаций, и они могут занять довольно много времени, если код не является тривиальным.
В режиме релиза компилятор тратит гораздо больше усилий на разработку оптимизаций — это может быть довольно трудоемким, потому что он делает то же самое с решателем судоку или шахматным движком — он пытается использовать множество различных вариантов, чтобы найти лучший. в этом конкретном случае.