If a computation inside
a loop computes the same value for each iteration, improve performance
by moving the computation outside the loop. Compute the value once
before the loop begins and use the computed value in the loop. For
example, in the following code block, compute(x) is evaluated during
each iteration of the DO loop:
do i = 1 to dim(a);
if (compute(x) eq a[i]) then ...;
end;
If compute(x) is invariant
(meaning that it always computes the same value for each iteration
of the loop), then the code block can be modified to perform the computation
once outside the loop:
computed_x = compute(x);
do i = 1 to dim(a);
if (computed_x eq a[i]) then ...;
end;