Erhalte die Programmausführungszeit in der Shell
Möchte ich ausführen, etwas in eine linux-shell unter ein paar verschiedenen Bedingungen, und in der Lage sein, um die Ausgabe der Ausführungszeit von jeder Ausführung.
Ich weiß, ich könnte schreiben, ein perl-oder python-Skript, dies zu tun wäre, aber gibt es eine Möglichkeit, kann ich das in der shell? (was passiert zu sein bash)
InformationsquelleAutor der Frage | 2008-12-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie die integrierte
time
Stichwort:Beispiel:
InformationsquelleAutor der Antwort Robert Gamble
Kann man viel mehr detaillierte Informationen als die bash built-in
time
(Robert Gamble erwähnt) mit Zeit(1). Normalerweise ist dies/usr/bin/time
.Anmerkung der Redaktion:
Um sicherzustellen, dass Sie die Anrufung des externen Dienstprogramm
time
anstatt Ihrer shelltime
Stichwort aufrufen, wie/usr/bin/time
.time
ist ein POSIX-Mandat-Dienstprogrammaber die einzige option ist es erforderlich, dass die Unterstützung-p
.Spezifische Plattformen implementieren, die bestimmte, nicht standardmäßige Erweiterungen:
-v
arbeitet mit GNU'stime
- Dienstprogramm, wie unten gezeigt (die Frage tagged linux); der BSD/macOS-Implementierung verwendet-l
zu produzieren ähnliche Ausgabe - sieheman 1 time
.Beispiel der verbose Ausgabe:
InformationsquelleAutor der Antwort grepsedawk
InformationsquelleAutor der Antwort David
Für eine line-by-line-delta-Messung, versuchen gnomon.
Können Sie auch die
--high
- und/oder--medium
Optionen zum angeben einer Länge Schwellenwert in Sekunden, über die gnomon highlight wird der timestamp in rot oder gelb. Und Sie können ein paar andere Dinge auch.InformationsquelleAutor der Antwort Adriano Resende
Möchten Sie mehr Präzision, verwenden Sie
%N
mitdate
(und verwendenbc
für das diff, da$(())
nur mit Ganzzahlen).Hier ist, wie es zu tun:
Beispiel:
Ergebnis:
InformationsquelleAutor der Antwort Benoit Duffez
Wenn Sie beabsichtigen, verwenden Sie das mal später zu berechnen, mit, lernen, wie man die
-f
Möglichkeit/usr/bin/time
Ausgabe codedass spart Zeit. Hier ist etwas code, den ich kürzlich bekommen, und Sortieren Sie die Ausführungszeiten einer ganzen klassenbezogenen der studentischen Programme:Ich später verkettet alle
$timefile
Dateien und leiten Sie die Ausgabe in eine Lua-interpreter. Sie können das gleiche mit Python oder bash oder was auch immer Ihre Lieblings-syntax ist. Ich Liebe diese Technik.InformationsquelleAutor der Antwort Norman Ramsey
Wenn Sie nur die Genauigkeit auf die Sekunde, Sie können verwenden Sie die vordefinierte
$SECONDS
variable, die die Anzahl von Sekunden, die von der shell ausgeführt wurde.InformationsquelleAutor der Antwort glenn jackman
Können Sie
time
und subshell()
:Oder in der gleichen shell
{}
:InformationsquelleAutor der Antwort Eduardo Cuomo
Weg ist
Ausgabe >>
InformationsquelleAutor der Antwort Robel Sharma