Chcesz sprawdzić wydajność poszczególnych fragmentów Twojego kodu PHP? Możesz w tym celu wykorzystać funkcję debug_timing(), która znajduje się poniżej.
001 <?php
002
003
010
011 function debug_timing ($label) {
012 static $basetime,
013 $totaltime,
014 $rpttimes;
015
016 if ($label == 'init') {
017 $rpttimes = array();
018 $basetime = microtime();
019 $totaltime = 0;
020 ereg ("^([^ ]+) (.+)", $basetime, $r);
021 $basetime = doubleval ($r[2]) + doubleval ($r[1]);
022
023 return;
024 }
025
026 if ($label == 'print') {
027
028 echo "<B>Czasy wykonania:</B><BR>\n";
029 for ($i=0; $i < count ($rpttimes); $i++) {
030 echo " (".$rpttimes[$i].") sek.<BR>\n";
031 }
032 echo "łącznie: (".$totaltime.") sek.\n";
033
034 return;
035 }
036
037
038 $newtime = microtime();
039 ereg ("^([^ ]+) (.+)", $newtime, $r);
040 $newtime = doubleval ($r[2]) + doubleval ($r[1]);
041
042 $diff = $newtime - $basetime;
043 $rpttimes[] = sprintf ("%-20s %s", $label, $diff);
044 $basetime = $newtime;
045 $totaltime += $diff;
046 }
047
048
049
050
051 debug_timing('init');
052
053 for ($i=0; $i<1000; $i++) {
054 $tabela1[$i];
055 }
056
057 debug_timing('Wynik pętli for:');
058
059 $y = 0;
060 while ($y<1000) {
061 $tabela2[$y];
062 $y++;
063 }
064
065 debug_timing('Wynik pętli while:');
066 debug_timing('print');
067
068 ?>
Pobierz Skrypt