Некоторые методы, которые используются для оптимизации двоичных вычислений в современных компьютерных архитектурах:
- Использование оптимизирующего транслятора. 1 Он позволяет получать максимально эффективный код, полностью использующий возможности новой архитектуры, а также использовать при проведении оптимизационных преобразований информацию о реальном поведении программы. 1
- Фоновая оптимизация. 1 Её выполняют одновременно с исполнением исходных кодов, используя для этого не занятые вычислительные ресурсы системы. 1 Например, в однопроцессорной системе процессорное время разделяют между потоками исполнения двоично-транслируемых кодов и оптимизирующей трансляции, а в двухпроцессорной — выносят оптимизирующую трансляцию на свободное микропроцессорное ядро. 1
- Линеаризация исполнения программы. 4 Этот метод уменьшает количество переходов путём определения порядка расположения линейных участков результирующего кода в памяти. 4
- Планирование инструкций. 2 Планировщик строит граф зависимостей между инструкциями, после чего присваивает им веса. 2 Затем в соответствии с моделью процессора потактово выдаёт одну или несколько инструкций. 2 Для этого он на каждом такте строит список доступных инструкций, то есть инструкций, вычисление всех аргументов которых уже завершилось. 2 Далее из этого списка планировщик выбирает нужное количество инструкций с наивысшим приоритетом. 2