Когда эта опция установлена, Оптимизатор
Когда эта опция установлена, Оптимизатор многократно использует результат выражений и подвыражений, которые используются в программе больше, чем один раз.
Когда установлена опция
“Удалить неиспользуемый код”, Оптимизатор подавляет коды, которые не имеют значения. Например, если запрограммировано следующее выражение:
“var := 1; var := X;”, то соответствующий генерируемый код будет только:
”var := X;”.
Когда установлена опция
“Оптимизировать арифметические операции”, Оптимизатор упрощает арифметические операции согласно специальным операндам. Например, выражение
“А + 0” заменяется на
“А”. Когда установлена опция
“Оптимизировать булевские операции”, Оптимизатор упрощает логические операции согласно специальным операндам. Например, логическое выражение
“A & A”
заменяется на
“A”.
Когда установлена опция
“Строй бинарные диаграммы принятия решения”, Оптимизатор заменяет логические уравнения (смесь операторов
AND, OR, XOR и
NOT) сокращенным списком операций перехода. Преобразование происходит только в том случае, если ожидаемое время последовательности переходов меньше, чем время ожидаемое для оригинального выражения.
Следующая таблица суммирует ожидаемую оптимизацию и требуемое время компиляции в соответствии с каждым параметром:
Выигрыш(произв.).. время
Оптимизация в два прохода
xxxx....................... (*)
Оптимизировать константные выражения
xxxxxxxx...............
xxxx
Удалять неиспользуемые метки
xxxx.......................
xxxxxxxx
Оптимизировать копирование переменных
xxxx.......................
xxxxxxxx
Оптимизировать выражения
xxxx.......................
xxxxxxxx
Удалять неиспользуемый код
xxxx.......................
xxxxxxxx
Оптимизировать арифметические операции..............................
xxxxxxxx xxxx
Оптимизировать булевские операции
xxxxxxxx...............
xxxxСтроить бинарные диаграммы решений
xxxxxxxxxxx ........ xxxxxxxxxxx
(*) время компиляции также умножается на 2.
Содержание Назад Вперед