Alıntı:
|
switch daha hızlı diye biliyorum. Herkes de böyle diyor.
|
hazır konusu açılmışken, kimin söylediğiyle değil, bizzat kendi testleriniz ile hangisinin daha hızlı olduğunu görebilirsiniz. Kullanılacağı yere ya da duruma göre birbirlerinden daha hızlı olabilirler. Fakat üstteki uygulamalar için bakalım sırayla;
PHP Kodu:
//Switch ile uygulama
function timer_stop() {
global $timestart, $timeend;
$mtime = microtime();
$mtime = explode(' ',$mtime);
$mtime = $mtime[1] + $mtime[0];
$timeend = $mtime;
$timetotal = $timeend-$timestart;
return number_format($timetotal,5);
}
function timer_start() {
global $timestart;
$mtime = explode(' ', microtime() );
$mtime = $mtime[1] + $mtime[0];
$timestart = $mtime;
return true;
}
timer_start();
$bugun = date("l");
for ($i=0; $i<10000; $i++) {
switch ($bugun)
{
case "Monday":
$kacgunkaldi = 5;
break;
case "Tuesday":
$kacgunkaldi = 4;
break;
case "Wednesday":
$kacgunkaldi = 3;
break;
case "Thursday":
$kacgunkaldi = 2;
break;
case "Friday":
$kacgunkaldi = 1;
break;
case "Saturday":
$kacgunkaldi = 0;
break;
case "Sunday":
$kacgunkaldi = 6;
break;
}
}
echo "Cumartesi gününe ".$kacgunkaldi." gün kaldı.";
echo 'Derlenme Süresi: '. timer_stop();
// Derlenme süresi ortalama 0,01203 sn
PHP Kodu:
//If ile uygulama
function timer_stop() {
global $timestart, $timeend;
$mtime = microtime();
$mtime = explode(' ',$mtime);
$mtime = $mtime[1] + $mtime[0];
$timeend = $mtime;
$timetotal = $timeend-$timestart;
return number_format($timetotal,5);
}
function timer_start() {
global $timestart;
$mtime = explode(' ', microtime() );
$mtime = $mtime[1] + $mtime[0];
$timestart = $mtime;
return true;
}
timer_start();
$bugun = date("l");
for ($i=0; $i<10000; $i++) {
if ($bugun=='Monday') $kacgunkaldi = 5;
if ($bugun=='Tuesday') $kacgunkaldi = 4;
if ($bugun=='Wednesday') $kacgunkaldi = 3;
if ($bugun=='Thursday') $kacgunkaldi = 2;
if ($bugun=='Friday') $kacgunkaldi = 1;
if ($bugun=='Saturday') $kacgunkaldi = 0;
if ($bugun=='Sunday') $kacgunkaldi = 6;
}
echo "Cumartesi gününe ".$kacgunkaldi." gün kaldı.";
echo 'Derlenme Süresi: '. timer_stop();
// Derlenme süresi ortalama 0,02144 sn
PHP Kodu:
//Switch kısayolu ile
function timer_stop() {
global $timestart, $timeend;
$mtime = microtime();
$mtime = explode(' ',$mtime);
$mtime = $mtime[1] + $mtime[0];
$timeend = $mtime;
$timetotal = $timeend-$timestart;
return number_format($timetotal,5);
}
function timer_start() {
global $timestart;
$mtime = explode(' ', microtime() );
$mtime = $mtime[1] + $mtime[0];
$timestart = $mtime;
return true;
}
timer_start();
$bugun = date("w");
for ($i=0; $i<10000; $i++) {
$kacgunkaldi = (6-$bugun >= 0) ? 6-$bugun : 6;
}
echo "Cumartesi gününe ".$kacgunkaldi." gün kaldı.";
echo 'Derlenme Süresi: '. timer_stop();
// Derlenme süresi ortalama 0,00894 sn
Testi nasıl uyguladım?
Bunların herbirini bir php dosyasına ekledim ve kendilerini sunucu üstünden çağırdım. Tabi gördüğünüz gibi tarih farkı bulma işlemini for döngüsü ile arka arkaya 10.000 kez uygulatıyoruz. Fakat bu yetmiyor ve sayfa yüklendikten sonra arka arkaya birkaç kez F5 yaptım ve hızlı bir şekilde aynı işlemi tekrar yaptırdım. Böylece daha da yük bindirmiş oldum.. Bu esnada verebildikleri en küçük süre değerini not aldım.. Ve üstteki gibi saniyeler ortaya çıktı..
Hangisinin hızlı olduğu konularda takılınca bu tarz testler uygulamanız faydalı olacaktır
