İç döngü - Inner loop

Olarak bilgisayar programları , önemli bir şekilde kontrol akış olan döngü kod bloğu birden çok kez yürütülecek neden olur. Yaygın bir deyim, başka bir döngü içinde yuvalanmış bir döngüye sahip olmaktır, içerilen döngü genellikle iç döngü olarak adlandırılır. . İki ana döngü türü vardır ve bunlar, gerektiğinde herhangi bir derinliğe kadar iç içe yerleştirilebilirler. İki tür for döngüsü ve while döngüsüdür. Her ikisi de biraz farklıdır ancak birbiriyle değiştirilebilir. Araştırmalar, bir iç döngü ile bir döngünün tüm yapısının performansının, iç döngü olmayan bir döngü ile karşılaştırıldığında farklı olduğunu göstermiştir. Aslında, biri for döngüsü ve diğeri bir while döngüsü olan farklı iç döngü türlerine sahip iki döngünün performansı bile farklıdır.

Bir iç for döngüsü dahil olduğunda, birim zamanda daha fazla hesaplama yapıldığı gözlemlendi. Bu, gerçekleştirilecek aynı sayıda hesaplama verildiğinde, iç for döngüsüne sahip olanın, onsuz olandan daha hızlı bitireceği anlamına gelir. Bu, makineden veya platformdan bağımsız bir döngü optimizasyonu tekniğidir ve test edilen çeşitli programlama dillerinde ve derleyicilerde veya yorumlayıcılarda gözlemlenmiştir. İç döngü kötü performans gösterdiğinden while döngüsü, bazı durumlarda herhangi bir iç döngü olmadan döngüden bile daha yavaş performans gösterir. Aşağıda python ile yazılmış iki örnek, bir iç döngü ile bir while döngüsü ve herhangi bir iç döngü olmadan bir while döngüsü sunar. Her ikisi de while döngüleri için aynı sonlandırma koşuluna sahip olsa da, ilk örnek iç for döngüsü nedeniyle daha hızlı bitecektir. Değişken innermax bir kısmını maxticketno ilk örnekte değişken.

while ticketno * innermax < maxticketno:
    for j in range(0, innermax):
        if (ticketno * innermax + j) == jackpotno:
            return
    ticketno += 1
while ticketno < maxticketno:
    if ticketno == jackpotno:
        return
    ticketno += 1

Referanslar