PHP Performans testleri

Bugün bir makale paylaşmayacağım ama hayat kurtaran bir siteyi sizinle paylaşmak istiyorum.

The Php Benchmark

Sitede aynı işlemi farklı yollar ile yaparak en performanslı yöntemin hangisi olduğu gösterilmeye çalışılmış. Hemen sol taraflarında bulunan % değerleri o kodun harcadığı CPU değerleridir. Bunları sürekli kontrol ederek kodlarımızı yazmak daha sağlıklı olacaktır.

Bir örnek;

For döngüsü içinde count() kullanımı ile ilgili bir örnek var.

// Initial Configuration
global $x;
$i   = 0;
$tmp = '';
while($i < 10000) {
  $tmp .= 'a';
  ++$i;
}
$x = array_fill(5, 1000, $tmp);
unset($i, $tmp);

// Test Source
function Test3_1() {
    global $x;

    /* The Test */
    $t = microtime(true);
    $size = count($x);
    for ($i=0; $i<$size; $i++);

    return (microtime(true) - $t);
}

// Variable Clean-up
function Test3_End() {
    global $x;
    unset($x);
}
// Initial Configuration
global $x;
$i   = 0;
$tmp = '';
while($i < 10000) {
  $tmp .= 'a';
  ++$i;
}
$x = array_fill(5, 1000, $tmp);
unset($i, $tmp);

// Test Source
function Test3_2() {
    global $x;

    /* The Test */
    $t = microtime(true);
    for ($i=0; $i<count($x); $i++);

    return (microtime(true) - $t);
}

// Variable Clean-up
function Test3_End() {
    global $x;
    unset($x);
}

1. ve 2. kodlar arasındaki tek fark 1. kodda bulunan $size = count($x); değerinin ikinci kodda for döngüsü içerisinde kullanılmış olması. Ancak CPU kullanımları şaşırılacak derecede farklı. 

Php Benc Örnek

Buradaki %113 CPU kullanan kodumuz 2. sıradaki, % 51938 kullanan kodumuz 1. sıradaki kodlardır. 1 satır bile PHP’nin CPU’yu ne kadar kullandığını görmemize yarıyor. Daha birçok örnekden sadece 1 tanesinidir. Siteyi iyi incelemenizde fayda var.


Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.