devxlogo

Optimizing Nested Loops

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.

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist