2010-12-09 6 views
2

Ich verwende den Unix-Befehl Zeit, um Zeiten für die Ausführung eines Java-Programms aufzuzeichnen.UNIX-Zeitbefehl - ist die eingegebene Zeit in den Faktor einbezogen?

Das erste, was mein Programm tut, wenn es zu laufen beginnt, bittet den Benutzer, einen Dateipfad einzugeben.

Wird die Zeit benötigt, um dies einzugeben und den Rückgabewert in irgendeine der Zeitstatistiken zurückzusetzen, die dieser Befehl zurückgibt? Der Ausgang für meinen Zeitbefehl ist von der Form:

# u # # S #:.... # # # #% # + # K # + # io # pf + # w

wobei # eine ganze Zahl

Sie

Antwort

3

Ja, die Zeit zu geben, geben Sie einen Teil der Echtzeit ist (3. Eintrag in Ihrer Ausgabe) genommen danken.

Einfache Demo:

$ time(sleep 5 ; echo hi | read) 

real  0m5.005s 
user  0m0.000s 
sys  0m0.004s 

Hier die echo hi wird hi auf std Ausgang drucken und read es lesen. Ich habe eine Verzögerung von 5 Sekunden hinzugefügt, bevor das Schreiben und Lesen passiert. Und ich habe die ganze Zeit getimt.

Wie gesehen ist die Echtzeit etwa 5 Sekunden, was bedeutet, dass es die Zeit berücksichtigt, die der read Befehl brauchte, um die Eingabe zu lesen.

Nur um die Benutzerzeit zu vervollständigen ist die Zeit, die die CPU braucht, um die Anweisungen in unserem Programm auszuführen, wie die Schleifen, die Bedingungen.
Und die Systemzeit ist die Zeit, die die CPU benötigt, um Systemaufrufe durchzuführen. In unserem Beispiel sehen wir eine 4 ms sys Zeit, da es viele sys-Aufrufe in diesem Befehl gibt, wie read, write usw.

Verwandte Themen