SORU
3 ŞUBAT 2010, ÇARŞAMBA


Nasıl bellek ayak izi (size) bir değişken belirlenir?

PHP (veya bir PHP uzantısı) bir işlevi ne kadar belirli bir değişken kullanır bulmak için? sizeof bana unsurları/özellikleri sayısını söyler.

EDİT: memory_get_usage benim bellek boyutu tarafından kullanılan verir yardımcı olurtümscript. Bir şekilde tek bir değişken için bunu yapmak için var mı?

CEVAP
3 ŞUBAT 2010, ÇARŞAMBA


Tek bir değişken bellek kullanımını almak için doğrudan bir yol yok, ama Gordon önerdiği gibi, memory_get_usage kullanabilirsiniz. Bu geçici bir çözüm ve tedbir kullanım önce ve sonra tek bir değişken kullanımını almak için kullanabilirsiniz, böylece toplam bellek miktarını tahsis dönecektir. Bu biraz hacky, ama çalışması gerekir.

$start_memory = memory_get_usage();
$foo = "Some variable";
echo memory_get_usage() - $start_memory;

Bu hiçbir şekilde olduğunu unutmayın güvenilir bir yöntem, bu sadece bir yaklaşım olarak kullanılmalıdır başka bir şey değil, değişken atarken hafıza dokunduğundan emin olamazsın.

Aslında fonksiyon içinde değişken bir kopyasını oluşturma ve kullanılan bellek ölçerek bir işlev için açabilirsiniz. Bu test değil, ama prensip olarak, bunda yanlış bir şey görmüyorum:

function sizeofvar($var) {
    $start_memory = memory_get_usage();
    $tmp = unserialize(serialize($var));
    return memory_get_usage() - $start_memory;
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AndroidSale

    AndroidSale

    17 NİSAN 2011
  • MrChiCity3

    MrChiCity3

    14 NİSAN 2008
  • wafflepwn

    wafflepwn

    14 AĞUSTOS 2008