[#] Немного об оптимизации кода путем «свертки»
BotHabr(tgi,2) — All
2023-07-16 09:00:05


Опубликовано: Sun, 16 Jul 2023 04:05:01 GMT
Канал: Assembler – Язык программирования низкого уровня

Я очень люблю придумывать для компилятора, который сопровождаю, всякие приемы мелкой, или, как я ее называю, «тактической» оптимизации. В компиляторе при генерации кода имеется такой момент, когда большинство команд будущей программы (точнее, компилируемого модуля) уже сгенерировано, но их еще можно менять или выбрасывать, поскольку адреса команд переходов и вызовов еще не вычислены, а окончательный размер кода программы (точнее, этого модуля) еще не получен.Вот этот момент и является самым удобным для проведения «тактической» оптимизации в пределах 2-3 соседних команд. Как правило, и анализ при такой оптимизации очень прост, поскольку можно сравнивать прямо двоичные коды с шаблонами, а не проводить детальное изучение множества операций и их операндов во внутреннем представлении будущей программы.Рассмотрим некоторые приемы оптимизации «сверткой» на простейшем примере. Читать далее

https://habr.com/ru/articles/748262/