Jump to content

Inner loop

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 152.7.255.194 (talk) at 19:39, 13 January 2025 (~~~~ changed the "Background" section to "Program Optimization". It does not provide any background at all, and instead provides an extremely niche method of speeding up a while loop by factoring an iterative computation into an inner for loop. I have also tried to clean up the grammar and phrasing, and put the conclusions in front to avoid 'teasing' the reader. But this is still a good candidate for deletion or inclusion in another article.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer programs, an important form of control flow is the loop which causes a block of code to be executed more than once. A common idiom is to have a loop nested inside another loop, with the contained loop being commonly referred to as the inner loop.

Program Optimization

In many languages there are two main types of loop exist, and they can be nested within each other in multiple layers of nesting. The two types are for loop and while loop.[1] They are slightly different in form but have the same effect. Research has shown that performance of the complete structure of a while loop with an inner for loop is better than than of a while loop without the inner for loop.[2]

It was observed that more computations are performed per unit time when an inner for loop is involved than otherwise. This implies, given the same number of computations to perform, the one with an inner for loop will finish faster than the one without it. This technique of loop optimization was observed across several programming languages and compilers or interpreters. In some cases, a while loop with an inner while loop performed slower than a while loop without an inner loop.

The two examples below, written in Python, present a while loop with an inner for loop and a while loop without an inner loop. Although both have the same terminating condition for their while loops, the first example will finish faster because of the inner for loop. The variable innermax is a fraction of the maxticketno variable in the first example.[3]

while ticket_no * innermax < max_ticket_no:
    for j in range(0, innermax):
        if (ticket_no * innermax + j) == jackpot_no:
            return
    ticket_no += 1
while ticket_no < max_ticket_no:
    if ticket_no == jackpot_no:
        return
    ticket_no += 1

References

  1. ^ Ghezzi, C; Jazayeri, M (1996). Programming Language Concepts (3rd edn.). John Wiley & Sons.
  2. ^ Adewumi, Tosin (August 2018). "Inner loop program construct: a faster way for program execution". Open Computer Science. 8: 115–122. doi:10.1515/comp-2018-0004.
  3. ^ Vishal (2021-06-09). "Nested Loops in Python". PYnative. Retrieved 2022-09-07.

4. Python Nested For Loop From Techgeekbuz