Что такое динамическая оптимизация в компиляторах

Люди говорят о динамической оптимизации в компиляторах. Что это значит? Кто-нибудь может дать мне честное представление об этом?

1 ответ

Решение

Статическая оптимизация основана на самом коде программы. Альтернативно, динамическая оптимизация основана на результатах выполнения кода. Например, имея длинный оператор switch в C/C++, можно было бы оптимизировать его, изменив порядок операторов case. Для этого необходимо многократно запускать программу и вести эту статистику оператора коммутатора.

Некоторые современные компиляторы содержат такую ​​платформу оптимизации, которая позволяет запускать программу и сохранять ее статистику времени выполнения. Затем код программы оптимизируется с помощью этой статистики.

См., Например, Оптимизация на основе профилей VC++: http://msdn.microsoft.com/en-us/library/e7k32f4k.aspx

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