Leser: 22
my $run_time = (time() - $^T);
my $run_time = ((times())[0] + (times())[1]);
2010-01-20T15:25:27 murphyWeil das Skript, das diese Befehle ausführt, vermutlich nicht das einzige Programm auf dem Rechner ist.
2010-01-20T15:39:17 topeg"times" liefert die Zeit, die der Prozess "verbraucht" hat, also die Sekunden, die der Prozessor damit beschäftigt war das Programm aus zu führen.
"time() - $^T" liefert die Zeit die das Programm auf dem Rechner läuft, also von Startzeitpunkt bis jetzt. Das der Prozessor aber noch andere Sachen macht ist die zeit sehr wahrscheinlich länger als die andere.
2010-01-20T15:55:44 Escape2010-01-20T15:39:17 topeg"times" liefert die Zeit, die der Prozess "verbraucht" hat, also die Sekunden, die der Prozessor damit beschäftigt war das Programm aus zu führen.
"time() - $^T" liefert die Zeit die das Programm auf dem Rechner läuft, also von Startzeitpunkt bis jetzt. Das der Prozessor aber noch andere Sachen macht ist die zeit sehr wahrscheinlich länger als die andere.
Hmmm ...
bin davon ausgegangen das "$user + $system" im Ergebnis mit "time() - $^T" identisch sein sollte - also beides die Wallclock liefert.
1
2
3
4
sidburn@sid:~$ perl -wle 'sleep 5; print( (times)[0] + (times)[1] )'
0
sidburn@sid:~$ perl -wle 'sleep 5; print (time() - $^T);'
5