Jesteś tutaj: webmade.org >> porady >> php + mysql
autor: Patryk 'yarpo' Jar, ostatnia modyfikacja: 2007-04-12
Czasem chciałbyś sprawdzić jakie rozwiązanie lepiej się sprawdza, bądź też chciałbyś dać w stopce ciekawostkę w stylu: „wygenerowane w 0,1s”. Nic trudnego kawałek kodu.
Na początek napiszmy funkcję, która będzie nam zwracać odpowiednio sformatowany czas:
<?php function podaj_czas(){ list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } ?>
Powyższa funkcja za pomocą funkcji explode() rozbija ciąg (domyślnie na tablicę, jednak tu działa trochę inaczej) i zapisuje je do zmiennych. Następnie zwraca je. Niby nic wielkiego, ale pozwala to na obserwowanie bardzo małych zmian czasu. Użycie funkcji time() i sformatowanie wyniku za pomocą date() nie pozwoliłoby na tak dokładny pomiar.
A oto przykład użycia:
<?php // tu kod funkcji $na_poczatku = podaj_czas(); $licznik = 1000000; while($licznik--) echo '.'; $na_koncu = podaj_czas(); echo $na_koncu - $na_poczatku; ?>
Dzięki temu zobaczymy, ile potrwa przejście 1000000 razy przez pętlę while(). Tym sposobem na ekranie monitora internauty ukaże się czas (u mnie było to ok 0,4s) wykonania powyższego skryptu. Pozmieniaj pewne szczegóły i poobserwuj jak bardzo może się zmienić czas działania skryptu! Proponuję na początek przerobić tą pętlę, aby liczyła od 0 do 1000000 (wzrost o ok 1s!), lub też zamienić echo() na printf()
Patryk 'yarpo' Jar
szukaj: czas generowania strony php
Osoby czytające tę publikację przeglądały również:
© 2004-2008 copyright by webmade.org