Реферат: Оптимизация программ

Ф:=F(N); конец;

В группу разгрузок участков повторяемости также входят и различные преобразования, которые осуществляют перемещение га­мака по пути, ведущему к месту использования его результатов. При таком преобразовании в отличие от чисток гамак остается в тех же зонах, циклах и процедурах.

Например, с помощью этих преобразований фрагмент

для K:=1, K+1 пока K<=100

цикл

начало

N:=A[K];

если N>0 то переход на L; N:=N*N;

L: если Z=0 то ВЫВОД(N); конец

N:=100;

может быть преобразован к виду:

для K:=1, K+1 пока K<=100

цикл

если Z=0 то

начало

N:=A[K];

если N>0 то переход на L; N:=N*N;

L: ВЫВОД(N); конец;

N:=100;

4.1.1 Сдвиг инвариантных операторов

Рассмотрим подробнее преобразование сдвига инвариантных операторов, входящее в группу преобразований по разгрузке участков повторяемости.

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

1) сдвиг оператора не приводит к тому, что результат сдвигаемого оператора перемещается через оператор, в котором результат используется.

Например, для блока

(mi) * A,B

.

.

.

(mk) := C,(mi)

К-во Просмотров: 741
Бесплатно скачать Реферат: Оптимизация программ