Just to confirm the previous poster, For loop variables are automatically record by the compiler on the first iteration.
While and Do Loops are re-evaluated every time and will benefit from turning complex expressions or references into variables before starting the loop.
Cheers, Jon