Döngüler, bu önemli mi?

5 Cevap php

A

while( x < 100 ) {
if( x == 1 ) { echo "Hello World!" } else { echo "Bottles" }
x++;
}

B

while( x < 100 ) {
if( x != 1 ) { echo "Bottles" } else { echo "Hello World!"}
x++;
}

Böyle büyük bir döngü olan zaman gerçekten bir fark yaratabilir misiniz?

5 Cevap

Muhtemelen bir fark yapmaz.

Ben o x != 1 bu olacak daha sık olduğu gibi, ikinci bir ile gitmek x == 1 ediyorum

Bu muhtemelen süper minik-1-binde-bir-milisaniye performans artışı çeviren, ancak mikro-optimizasyon o kadar önemli değil.

Siz herhangi bir fark olası konum ve endişelenecek büyük darboğazlar neredeyse kesinlikle vardır.

Dallanma tahmini muhtemelen A. tabii, derleyici optimize değil varsayarsak için berbat olacak gibi tipik işlemciler üzerinde, B daha hızlı olacaktır.

btw, bunu ölçmek ve bir diğer önemli ölçüde daha iyi olması için buldun?

Ben x 1'den başlayarak varsayarak yaşıyorum. Durum böyle değilse, bu mutlaka mümkün olmazdı.

echo "Hello, World!";
while(x < 99) { echo "bottles"; x++; }

Koşullu rahatsız neden, bunu yapmak zorunda gidiyoruz biliyorum?

Bu nasıl optimizer döngü ile yapacak bağlıdır.