1.2.58. $OPTIMIZATION : Включить оптимизацию

На верх  Назад  Вперёд

Этот переключатель включает оптимизацию. Он может иметь следующие возможные значения:

ON
включает оптимизацию, соответствующую уровню оптимизации 2.

OFF
выключает все оптимизации.

DEFAULT
возврат к оптимизациям по умолчанию (то есть из командной строки или конфигурационного файла).

XYZ
анализирует строку и включает оптимизации, имеющиеся в строке, как если бы они были переданы с помощью опции командной строки -Oo. Оптимизации должны быть разделены запятыми.

Поддерживаются следующие строки:

LEVEL1
оптимизация уровня 1

LEVEL2
оптимизация уровня 2

LEVEL3
оптимизация уровня 3

REGVAR
использовать регистровые переменные.

UNCERTAIN
использовать неточную оптимизацию.

SIZE
оптимизировать по размеру.

STACKFRAME
пропускать границы стека.

PEEPHOLE
оптимизация Peephole.

ASMCSE
использовать общие подвыражения исключения на уровне ассемблера.

LOOPUNROLL
разворачивать циклы.

TAILREC
изменять хвост рекурсии для регулярного while

ORDERFIELDS
Изменить порядок полей, если это приводит к лучшему выравниванию.

FASTMATH
Быстрое выполнение математических операций.

REMOVEEMPTYPROCS
удалить вызов пустых процедур.

CSE
использовать общие подвыражения исключения.

DFA
использовать DFA (Анализ Потока Данных).

Например:

{$OPTIMIZATION ON}

Это эквивалентно директиве

{$OPTIMIZATION LEVEL2}

Могут быть указаны несколько оптимизаций:

{$OPTIMIZATION REGVAR,SIZE,LEVEL2}

Этот переключатель также активируется опцией командной строки –Ooxxx. Учтите, что маленькая 'o': следует за именем переключателя –Oo.