Sprawdzanie czasu wykonywania się skryptu

Data dodania:
05 kwietnia 09
Autor:
Łukasz Rutkowski
Kategoria:
PHP

Kiedy tworzymy większe aplikacje, musimy mieć kontrolę nad jej optymalizacją. Podstawową rzeczą, jaką wykonujemy to pomiar czasu, w jakim dany skrypt się generuje. Jak wiadomo, są to bardzo krótkie czasy jak dla nas, lecz pamiętajmy: czym bardziej zoptymalizowana aplikacja, tym słabszy serwer ją utrzyma przy stałej liczbie uruchomień. Przedstawię Ci sposób na uzyskanie tejże małej, ale jakże ważnej liczby.

Najprostszym sposobem będzie pobranie czasu uniksowego na początku i na końcu skryptu, a potem je odjąć od siebie. Chcemy uzyskać godzinę z dużą dokładnością, więc do wykorzystania zostaje nam jedna funkcja – microtime. Zwraca ona dane w formacie

msec sec

więc będziemy musieli za pomocą explode podzielić wynik na tablicę, a potem obydwa elementy odjąć od siebie.
Podsumowując: na początku skryptu musimy umieścić taki kod:

1
$poczatek = explode(' ', microtime());

a na końcu:

1
2
3
$koniec = explode(' ', microtime());
$czas = ($koniec[0]+$koniec[1]) - ($poczatek[0]+$poczatek[1]);
echo 'Czas generowania skryptu: ' . substr($czas, 0, 7) . 's';

Przy wyświetlaniu dodałem funkcję substr, która obetnie zmienną do długości 7 znaków, gdyż wątpię, aby komuś były potrzebne dokładniejsze dane – wahanie się wyniku i tak można zauważyć.

Prawidłowy efekt działania tego skryptu powinien być podobny do:

Czas generowania skryptu: 0.00271s

Dziękuję za przeczytanie i mam nadzieję, że pomogłem w zoptymalizowaniu Twojej aplikacji.

~Łukasz Rutkowski