Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pamięć zużyta na wykonanie skryptu PHP
Piotrbaz
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 2
Dołączył: 15.09.2012

Ostrzeżenie: (0%)
-----


Witam,

Tworząc prostą klasę do "benchmarku" skryptu PHP nie można pominąć zużywanej pamięci. Tak, wiem: memory_get_usage(). Temat wałkowany w sieci na wszystkie sposoby, ale dalej mam z tym problem (IMG:style_emoticons/default/facepalmxd.gif)
Cytat
Returns the amount of memory, in bytes, that's currently being allocated to your PHP script.


Ok, ale co ta wielkość tak naprawdę oznacza ? Albo inaczej, co składa się na taką a nie inną wartość. Inaczej to wygląda na localhost, a inaczej na serwerze.

Odpalając:
  1. <?php
  2. ?>


otrzymuję już jakieś wartości. Gdy wywołam tą funkcję na końcu swojego skryptu, wyświetla mi dokładnie podwojoną wartość tego, co było przed skryptem.

Czy wobec tego, poniższa forma ma jakikolwiek sens?
  1.  
  2. <?php
  3. $start = memory_get_usage();
  4.  
  5. // skrypt się mieli
  6.  
  7. $koniec = memory_get_usage();
  8.  
  9. echo ($koniec-$start);
  10.  
  11.  
  12. ?>
  13.  


Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat
Ok, ale co ta wielkość tak naprawdę oznacza
Dokładnie to co podano w manualu.
Cytat
Albo inaczej, co składa się na taką a nie inną wartość. Inaczej to wygląda na localhost, a inaczej na serwerze.
Przede wszystkim będą to zmienne, a raczej ich zawartość. Na różnych serwerach możesz mieć różne środowisko w którym uruchamiane są Twoje skrypt, które będzie zużywać różną ilość pamięci.
Cytat
Odpalając:
  1. <?php
  2. ?>
otrzymuję już jakieś wartości.
Bo skrypt potrzebuje już pamięci chociażby do udostępnienia zmiennych typu $_SERVER, trzeba przydzielić pamięć na bufory wyjścia itp. itd.
Cytat
Czy wobec tego, poniższa forma ma jakikolwiek sens?
  1. <?php
  2. $start = memory_get_usage();
  3.  
  4. // skrypt się mieli
  5.  
  6. $koniec = memory_get_usage();
  7.  
  8. echo ($koniec-$start);
  9.  
  10.  
  11. ?>
Ma sens - zwróci Ci to różnicę aktualnego zużycia pamięci w dwóch konkretnych momentach działania programu, ale zapewne Ciebie interesuje maksymalne zużycie pamięci w trakcie działania skryptu - wtedy użyj memory_get_peak_usage.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.12.2025 - 22:44