Projektowanie stron WWW od podszewki
Losowy artykuł: Avast i "ochrona"

Artykuły na każdy temat

[PHP] Czas generowania strony

Dodano 14.07.2010r. o 15:08
Pamiętam jak byłem niedoświadczonym webmasterem zastanawiałem się jak wyświetlić czas generowania strony. Ot taki nikomu niepotrzebny pierdolnik bo czymś niestety trzeba było zapchać pustą przestrzeń w stopce Wink Jeżeli zamierzasz umieścić na stronie taki nikomu niepotrzebny bajer to daruj sobie. Co innego jeżeli zamierzasz przeprowadzać bardzo proste testy wydajności.

Na poniższym listingu zostanie przedstawiona funkcja get_time(), która zwraca bardzo dokładny czas. Gdybyśmy chcieli użyć funkcji time() to nie uzyskalibyśmy dokładnych wyników pomiaru. Pamiętajmy aby odpowiednio obciążać operacjami testujący kod. Najgłupszym z pomysłów jaki widziałem było liczenie przebiegu pustej pętli. Nie dość, że ktoś niepotrzebnie marnuje prąd to jeszcze pokazuje jaki to jest fajny. Czyż to nie cudne? Wink

Wracając na ziemie... Pętla wywoła się milion razy i za każdym razem wylosuje liczbę, która zostanie zapisana do zmiennej. Prawda, ze proste? Smile
Kod:
<?php
function get_time()
{
 list($usec$sec) = explode(' 'microtime());
 return ((float)$usec + (float)$sec);
}

$tmp['start'] = get_time();

for($h 0$h 1000000; ++$h)
{
 $tmp['random_number'] = rand();
}

echo round((get_time() - $tmp['start']), 8);
?>
Na koniec wspomnę o precyzji. Jak widzimy końcowy wynik zaokrągla się do ósmego miejsca po przecinku. Jeżeli uznacie, że potrzebujecie więcej wtedy zmieńcie 2 parametr funkcji round().

Więcej informacji na:
http://php.net/manual/pl/function.explode.php
http://php.net/manual/pl/function.list.php
http://php.net/manual/pl/function.microtime.php
http://php.net/manual/pl/function.round.php

Komentarze

Brak komentarzy

Dodaj komentarz

Zostaw komentarz jeżeli możesz! Nie bądź przysłowiowym botem! Nie bądź obojętny! Ciebie to nic nie kosztuje, a mi sprawi uśmiech na twarzy.
Zezwolono używać: BBCode
Zabroniono używać:
znaczników HTML

(Wymagany)

(Wymagany, niepublikowany)

(Nie wymagana)

Token:

Obrazek dla bota

(Przepisz tylko cyfry!)

(Wymagana)