Ich verwende system.time(expression)
, um die Ausführungszeit für eine R-Funktion zu messen.
Die Ausgabe bekomme ich für den Anruf
system.time(myfunction())
ist:
user system elapsed
117.36 5.65 127.86
Was messen "Benutzer" und "System"?
Antworten:
Dies wird in
?proc.time
(system.time()
gibt ein Objekt der Klasse zurück"proc.time"
) erläutert :....und
quelle
Die klarste Erklärung, die ich je über den Unterschied zwischen
user
und dersystem
verstrichenen Zeit gelesen habe, lieferte William Dunlap auf [R-help] :Obwohl
?proc.time
etwas Ähnliches zurückgegeben wird, war diese Beschreibung für mich viel einfacher zu verstehen.quelle
Hier einige einfache Erklärungen:
Die verstrichene Zeit ist die Zeit, die der / den CPU (s) für den Ausdruck berechnet wird.
Benutzerzeit ist die Wanduhrzeit. Die Zeit, die Sie als Benutzer erlebt haben.
Normalerweise sind beide Zeiten relativ nahe. In einigen anderen Situationen können sie jedoch variieren. Beispielsweise:
quelle
Da diese sowieso generisch sind, aus Wikipedia:
http://en.wikipedia.org/wiki/Time_(Unix)#User_Time_vs_System_Time
quelle
Da diese Zeitvariablen von Ihrem Betriebssystem definiert werden, können Sie Informationen darüber abrufen, wie sie berechnet werden, indem Sie sie
man time
in Ihrer Shell (unter Unix) ausführen :Die Definition der genannten Zeitvariablen finden Sie hier :
Eine Erläuterung der Unterschiede zwischen Benutzer- und Systemzeit ist in der Antwort von daroczig und an anderer Stelle auf SO beschrieben :
quelle