Что такое динамическая оптимизация в компиляторах
Люди говорят о динамической оптимизации в компиляторах. Что это значит? Кто-нибудь может дать мне честное представление об этом?
1 ответ
Статическая оптимизация основана на самом коде программы. Альтернативно, динамическая оптимизация основана на результатах выполнения кода. Например, имея длинный оператор switch в C/C++, можно было бы оптимизировать его, изменив порядок операторов case. Для этого необходимо многократно запускать программу и вести эту статистику оператора коммутатора.
Некоторые современные компиляторы содержат такую платформу оптимизации, которая позволяет запускать программу и сохранять ее статистику времени выполнения. Затем код программы оптимизируется с помощью этой статистики.
См., Например, Оптимизация на основе профилей VC++: http://msdn.microsoft.com/en-us/library/e7k32f4k.aspx