Существует множество методов оптимизации циклов.
Существует множество методов оптимизации циклов. Большинство методов только изменяют структуру цикла, оставляя его в программе. Среди них выделяется метод оптимизации циклов, которые не выполняют никаких действий, кроме изменения некоторых переменных. Для этого используется интерпретация циклов на этапе компиляции, если количество итераций невелико [3]. Если же число итераций превышает некоторое пороговое значение, то данный метод оказывается неэффективным.
В данной статье рассматривается метод оптимизации циклов следующего вида с помощью производящих функций:
для ∀ v ∈ V | v = v > C | |
While (P) | |
для ∀ v ∈ V | v = T(v, C) |
где:
V – множество переменных, используемых в цикле, N – мощность этого множества
C – множество констант
V > C – множество начальных значений переменных, используемых в цикле
P – предикат, сигнализирующий об окончании цикла, представляющий собой результат применения логических и алгебраических операций к переменным из множества V и константам из множества C
T(V, C) – множество функций преобразования элементов множества V, используемых в цикле