Merhaba arkadaşlar, linq sınıfımda kullandığım metodlarda bugün değişiklikler yaptım. while ile foreach kalıplarını teste soktum . galibimiz forech. while ile yazdığım tüm kalıpları foreach’e dönüştürdüm.  For yerine while tercih ederdim hep daha hızlıdır diye ama bu testimizde for yok. freach ve while var.  150 bin elemanlı bir dizi ile denedim we ikisinde de  aynı işlemleri yaptım şimdi test sonuclarına bakalım.

ilk önce dizimizi oluşturalım

0
$bigarray = range(1,150000);

while($array = each($bigarray)) kalıbını test edelim

0
1
2
3
 while($array = each($bigarray))
    {
      $a = count($bigarray);
    }

0.457 sn.

araya list() işlemi de girince pek birşey farketmiyor
while(list($key,$value) = $array = each($bigarray) ) bu  yapının süresi de  0.492 sn

şimdi galibimiz foreach’i test edelim aynı dizi üzerinde.

0
1
2
3
foreach ($bigarray as $key=>$val)
    {
        $a=count($bigarray);
    }

Sonuç : 0.166 sn bence cok büyük bir fark. iyi çalışmalar…

Leave a Reply

(required)

(required)


nine − = 8

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

© 2012 Tufan Suffusion theme by Sayontan Sinha