om de doorlooptijd van mijn script te meten vraag ik aan het begin en aan het eind time() op, en trek die van elkaar af. Helaas klopt de uitkomst hiervan niet (het script doet er bv ca 90 seconden over en geeft dan 40 seconden als uitkomst).
om te checken laat ik ook dmv javascript de tijd bepalen, en die geeft wel het juiste resultaat.
dan volgt het hoofddeel met een heleboel db-queries
en dan aan het eind
het enige dat ik kan bedenken, is dat het php script al klaar is met parsen, en dus al het eind bereikt, terwijl er nog informatie uit de database moet komen.
om te checken laat ik ook dmv javascript de tijd bepalen, en die geeft wel het juiste resultaat.
PHP:
4
5
6
7
8
9
10
11
12
13
14
15
16
| <? $starttijd = time(); print ("php start: ".date("H:i:s")."<br>"); ?> <script> function jsTime () { dateObject = new Date(); tijd = dateObject.getTime(); document.write ("js time: "+dateObject.getHours()+":"+dateObject.getMinutes()+":"+dateObject.getSeconds()+'<br>' ); return (tijd); } starttijd = jsTime(); </script> |
dan volgt het hoofddeel met een heleboel db-queries
en dan aan het eind
PHP:
4
5
6
7
8
9
10
11
| <? print ("<script>"); print (" eindtijd = jsTime();"); print (" document.write('<br>tijdsduur js: '+(eindtijd-starttijd)/1000);"); print ("</script><br>"); print ("tijdsduur php: ".(time()-$starttijd)); print ("<br>php eind: ".date("H:i:s")."<br>"); ?> |
het enige dat ik kan bedenken, is dat het php script al klaar is met parsen, en dus al het eind bereikt, terwijl er nog informatie uit de database moet komen.