RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: C++
Expertise: All
May 19, 1999

Unroll Loops to Optimize Your Code

A compiler can automatically optimize the code by unrolling loops. Consider this code:
  int *buff = new int[3];
  for (int i =0; i<3; i++)
   buff[i] = 0;
On every iteration, the loop assigns a value to the next array element. However, precious CPU time is also wasted on testing and incrementing the loop counter, and performing a jump statement. To avoid this overhead, the compiler can unroll the loop into a sequence of three assignment statements:
  buff[0] = 0; 
  buff[1] = 0; 
  buff[2] = 0; 
This way, you avoid the unnecessary overhead of a loop. Note, however, that the compiler applies this optimization automatically; you shouldn't do it yourself.
Danny Kalev
Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date