Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: C++
Expertise: Beginner
Mar 1, 2000

Optimizing Nested Loops

Several compilers need this hint from the programmer while others are clever enough to figure it out automatically. When you have nested loops, declare the counter of the most deeply-nested loop as a register variable. For example:

 
for (int i = 0; i <1000; ++i)
{
  for (register int j = 0; j <1000; ++j)  
 {
    // .. this code will be executed a 1,000,000 times
 }
}

The variable i will be accessed 1000 times. However, j will be accessed a million times. Therefore, storing j in a CPU register can give a significant performance boost compared to storing i in a register. Of course, storing both i and j in registers is even better. Alas, the number of free registers is usually very limited so when you have to make a choice, declare the counter of the innermost loop as a register variable.

Danny Kalev
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap