PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP]: microtime() liefert nur Käse


mf_2
2007-09-25, 14:50:24
hallo,

Ich wollte die Zeit messen, welche eine Funktion zur Ausführung benötigt, exemplarisch etwa so:

$s=microtime(TRUE);
lol();
$e=microtime(TRUE);
$zeit=$e-$s;

Heraus kommt dann sowas: 9.98973846436E-5.
Wieso kann der mir nicht einfach die normalen Millisekunden ausgeben, was soll das E-5 am Schluss?

Den optionalen Parameter TRUE gibt es seit PHP5, welches ich auch im Einsatz habe.

Xmas
2007-09-25, 15:04:55
Heraus kommt dann sowas: 9.98973846436E-5.
Wieso kann der mir nicht einfach die normalen Millisekunden ausgeben, was soll das E-5 am Schluss?
Das ist die Zeit in Sekunden. 1.2E3 ist eine alternative Schreibweise für 1.2 * 10³.
9.98973846436E-5 bedeutet also einfach 9.98973846436 * 10^-5 = 0.0000998973846436 oder ca. 100µs

The_Invisible
2007-09-25, 15:13:01
ja, die ausführung des scripts ist zu schnell für eine "normale" anzeige.

bau in der lol() funktion einfach mal ein sleep(1) ein, dann bekommst eine "normale" ausgabe.

mfg

Plutos
2007-10-02, 22:05:43
Ich denke, weil das Ding die SI-Einheiten (ergo Sekunden) verwendet. Folglich das Ergebnis mit 1000 multiplizieren, dann hast du Millisekunden.