Меня всегда удивляло, что иногда при сборке проекта после того, как появляется заветное Linking... иногда вываливаются ворнинги, явно относящихся к плюсовому коду.
Сегодня узнал, что в компиляторе-линкере Visual C++ есть занятная фича - кодогенерация во время линковки. То есть компилятор, вместо того чтобы выдавать на-гора исполняемый платформо-зависимый код, вместо этого сливает в объектные файлы байт-код промежуточного представления, который потом может быть оптимизирован линкером, позволяя встраивать вызовы не-inline функций между разными объектниками. MSDN утверждает, что это дает прирост в производительности от 10 до 15 процентов. В реальной жизни, скорее всего, такого не будет, но можно рассчитывать на 3-5 процента. Не очень много, конечно, но для разных движков - самое оно.
Как включить? Идем в свойства проекта и выставляем Yes для C++/Optimization/Whole Program Optimization и Linker/Optimizaiton/Link Time Code Generation, /GL и /LTCG соответственно.
понедельник, 16 февраля 2009 г.
Отложенная кодогенерация в Visual C++ |
Автор:
mr. trouble
в
14:30
Тэги:
кодинг
|
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий