• 08-12-2018, 19:19:23
    #1

    Sisteminizi ne kadar az yorarsanız o kadar performans alırsınız. Kodlarınızın hafıza kullanımını gözlemleyerek, kodunuzu daha iyi optimize edebilirsiniz.
    PHP 5 ve üzerinde sorunsuz olarak çalışan iki fonksiyonumuz bulunmakta, buyrun memory_get_usage () ve memory_get_peak_usage () beraber inceleyelim.


    Konu İle İlgili Video

    memory_get_usage () = Kodun Harcadığı Geçerli Ram Bellek Kullanımını Bayt Cinsinden Döndürür.
    memory_get_peak_usage () = Kodun Harcaması İçin En Yüksek Miktarda Ayrılan Ram Bellek Boyutunu Bayt Cinsisnden Döndürür.
    Basit bir örnek üzerinde inceleyelim.

    $IlkDeger=memory_get_usage();
     
    // Biraz bellek kullanalım
    for ($i = 0; $i < 100000; $i++) {
        $array []= base64_encode(sha1(md5($i)));
    //i değişkenine gelen değerin önce md5 hash değerini sonra sha1 hash değerini sonrasında ise base64 ile şifrelemesini yapıp  array a aktardık
    }
     
    foreach($array as $value){
        base64_decode($value);
    //array de bulunan değerlerin base64 şifresini çözdük  
    }
     
    for ($i = 0; $i < 50000; $i++) {
        unset($array[$i]);
    //array içinde bulunan değerlerin yarısını kaldıralım
    }
     
    $SonDeger=memory_get_usage();
     
    $TepeDeger=memory_get_peak_usage();
     
    // Integer bir değer dönmektedir, hem KB hem MB cinsinden ekrana yazdıralım
     
    echo "Ilk Deger = {$IlkDeger} bytes <br />";
    echo "Ilk Deger =".round($IlkDeger/1024,2)." KB <br />";
    echo "Ilk Deger =".round($IlkDeger/1024/1024,2)." MB <br /> <br />";
     
    echo "Son Deger = {$SonDeger} bytes <br />";
    echo "Son Deger = ".round($SonDeger/1024,2)." KB <br />";
    echo "Son Deger = ".round($SonDeger/1024/1024,2)." MB <br /> <br />";
     
    echo "Tepe Deger = {$TepeDeger} bytes <br />";
    echo "Tepe Deger = ".round($TepeDeger/1024,2).' KB <br />';
    echo "Tepe Deger = ".round($TepeDeger/1024/1024,2).' MB <br /> <br />';
    Ekran Çıksıtısı Şöyledir;
    Ilk Deger = 127832 bytes
    Ilk Deger =124.84 KB
    Ilk Deger =0.12 MB

    Son Deger = 8252608 bytes
    Son Deger = 8059.19 KB
    Son Deger = 7.87 MB

    Tepe Deger = 15853936 bytes
    Tepe Deger = 15482.36 KB
    Tepe Deger = 15.12 MB


    Görüldüğü gibi Ilk Deger sayfanın çalışması için harcadığı bellek miktarını gösteriyor, ardından Son Deger bellek kullanımı için yaptığımız işlemler ilk önce 15.12 MB değerine kadar çıkıyor sonra 7.87 MB değerine düşüyor, son olarak Tepe Deger ise bellek kullanımının en fazla kaça kadar çıktığını gösteriyor 15.12 MB olarak gözlemlemiş oluyoruz.
    Kodlarınızı yazarken performans için bu fonksiyonları kullanmanız tavsiye edilir.

    Sevgiyle ve Bilgiyle Kalın...
    Konunun Orjinal Linki
  • 08-12-2018, 20:55:06
    #2
    Çok güzel bir anlatım teşekkür ederim . Öğrenecek çok şey var
  • 08-12-2018, 22:12:48
    #3
    FurkanK adlı üyeden alıntı: mesajı görüntüle
    Çok güzel bir anlatım teşekkür ederim . Öğrenecek çok şey var
    işinize yaramasi dileğiyle
  • 08-12-2018, 22:25:31
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    yararlı bi kaynak teşekkürler hocam devamını bekleriz
  • 08-12-2018, 22:29:21
    #5
    codeHIGH adlı üyeden alıntı: mesajı görüntüle
    yararlı bi kaynak teşekkürler hocam devamını bekleriz
    Fırsat buldukça yazmaya devam edeceğim