Eine Stoppuhr für arme Leute
Fr, 24. September 2021, Ralf Hersel
Für diesen kleinen CLI-Tipp lohnt sich kaum ein eigener Artikel; aber was solls. Manchmal benötigt man eine Stoppuhr, um Dinge am Computer zu messen: wie lange kann ich die Luft anhalten, wie lange braucht Firefox als Snap-Paket zum Starten, oder wie lange braucht mein Skript, bis es fertig ist.
Natürlich kann man irgendeine Uhren-App installieren und starten, herausfinden, wo die Stoppuhr-Funktion verborgen ist und dann die Zeit messen. Es geht jedoch viel einfacher - der Kommandozeilen-Befehl: time read erfüllt genau die Anforderung an eine einfache Stoppuhr. Nach dem Aufruf des Befehls passiert visuell gar nichts. Erst nach einem erneuten Drücken der RETURN-Taste wird das Ergebnis der Messung angezeigt (siehe Screenshot). Dabei werden drei verschiedene Zeiten gemessen:
- real - die tatsächlich verstrichene Zeit vom Aufruf des Befehls bis zum Abbrechen mit der RETURN-Taste
- user - die im Benutzermodus verbrachte CPU-Zeit
- sys - die im Kernel-Modus verbrachte CPU-Zeit
In den meisten Fällen ist nur die real Zeit von Interesse.
In der Bash und auch der Fish-Shell funktioniert der Befehl time read einwandfrei. Nicht jedoch in der Z-Shell (ZSH); dort gibt es drei Alternativen:
- Die ZSH zeigt sowieso am rechten Rand die Zeit des letzten Kommandos an. Somit ist die Zeitmessung bei der ZSH bereits integriert. Hinweis: ob die Zeit angezeigt wird, hängt von der Konfiguration der Z-Shell ab.
- Man kann aus der ZSH eine Bash starten und dort den Befehl time read absetzen.
- Oder man führt den Befehl time cat aus und bricht die Messung mit Ctrl+c ab.
Der nachfolgende Screenshot zeigt alle drei Alternativen:
Wie gewohnt, bietet die Z-Shell viel mehr Möglichkeiten als die Bash. Wer in der ZSH die Zeit messen möchte, verwendet mit Vorteil den Befehl time cat oder gibt sich mit der Sekunden-Anzeige zufrieden, die ZSH anzeigt, falls sie entsprechend konfiguriert wurde.
Quelle: https://www.mankier.com/1/time