Глава 9. Оптимизации

Наиболее популярным применением ассемблера обычно считается именно оптими­зация программно естьуменьшение времени выполнения программ по сравнению с языками высокого уровня. Но если просто переписать текст, например с языка С на ассемблер, переводя каждую команду наиболее очевидным способом, окажет­ся, что С-процедура выполнялась быстрее. Вообще говоря, ассемблер, как и лю­бой другой язык, сам по себе не является панацеей от неэффективного програм­мирования - чтобы действительно оптимизировать программу, требуется знать не только команды процессора, но и алгоритмы, оптимальные способы их реализа­ции и владеть подробной информацей об архитектуре процессора.

Проблему оптимизации принято делить на три основных уровня:

1. Выбор самого оптимального алгоритма - высокоуровневая оптимизация.

2. Наиболее оптимальная реализация алгоритма - оптимизация на среднем уровне.

3. Подсчет тактов, тратящихся на выполнение каждой команды, и оптимизация их порядка для конкретного процессора — низкоуровневая оптимизация.