Was ist Dauer?

Dauer ist die Zeit, die ein Prozess zum Abschluss benötigt. Um ein reales Beispiel zu verwenden: Wenn Sie auf eine Uhr schauen und sich die Uhrzeit notieren, gehen Sie spazieren, gehen Sie zurück und stellen Sie fest, dass fünfzehn Minuten vergangen sind. Die Dauer Ihres Spaziergangs betrug fünfzehn Minuten.

Computer enthalten spezielle Hardware zur Zeitmessung, und Betriebssysteme enthalten Befehle, mit denen Sie messen können, wie lange ein Programm für die Ausführung benötigt.

In modernen Computern kann die Zeit mit verschiedenen Uhren gemessen werden.

  • Die Echtzeituhr ( RTC ) verwendet einen Quarzkristall, der mit einer konstanten Frequenz schwingt, um die "menschliche Zeit" zu verfolgen: Jahre, Monate, Tage, Stunden, Minuten und Sekunden. Seine Frequenz (32768 Hz) ist jedoch zu langsam, um Zeitbruchteile zu messen, die kleiner als 1/32768 Sekunden sind. Moderne CPUs können einen Vorgang viel schneller abschließen, sodass die Echtzeituhr die Dauer eines Computerprozesses nicht genau messen kann.
  • Ein PIT (Programmable Interval Timer) ist ein Hardwarezähler, der einen Interrupt auslösen kann, wenn ein bestimmter Zählerstand erreicht wird. Ein übliches PIT ist der integrierte Intel 8253-Schaltkreis, der ursprünglich für die Verwendung mit dem Intel 8080-Prozessor entwickelt wurde. Es arbeitet mit einer Frequenz von 1, 193182 MHz. Sie wird von vielen Betriebssystemen, einschließlich Windows und Linux, als Systemuhr verwendet.
  • Ein TSC (Timestamp Counter) ist ein 64-Bit-Register, das sich auf allen modernen x86-CPUs befindet. Es zählt die einzelnen CPU-Taktzyklen und wurde erstmals mit der Pentium-Reihe von Intel-CPUs eingeführt. Zunächst war es hilfreich, eine Uhr bereitzustellen, die kleinere Zeitbruchteile messen konnte als ein RTC oder PIT. Es ist jedoch erforderlich, dass die CPU mit einer konstanten Geschwindigkeit arbeitet, um eine genaue Messung zu erhalten. Neuere CPUs können die Frequenz ändern (z. B. den Eintritt in den "Turbo" -Modus, um temporäre Geschwindigkeitssteigerungen zu erzielen, oder im Leerlauf auf eine niedrigere Geschwindigkeit drosseln, um Energie zu sparen). Daher ist der TSC, obwohl er für andere Zwecke noch nützlich ist, für das Messen einer konstanten Zeit nicht mehr zuverlässig.
  • Der HPET (High Precision Event Timer) ist ein von Intel und Microsoft gemeinsam entwickelter Hardware-Timer, der auf Computern erhältlich ist, die nach 2005 hergestellt wurden. Im CPU-Chipsatz des Motherboards befindet sich der HPET normalerweise auf der Southbridge. Es zählt die Zeit in 64 Bits bei einem Minimum von 10 MHz und verwendet drei "Komparator" -Zähler (entweder 32-Bit oder 64-Bit), um eine hochgenaue Zeitmessung zu erhalten. Das HPET wird in Ihrem Computer für viele Zwecke verwendet, z. B. zum Synchronisieren des Audiostreams bei der Wiedergabe eines Videos.

Das genaueste dieser Zeitmessverfahren ist das HPET .

Wie man einen Prozess auf Ihrem Computer zeitlich festlegt

Es gibt verschiedene Möglichkeiten, um herauszufinden, wie lange ein Vorgang auf Ihrem Computer dauert.

In der Windows-Eingabeaufforderung

In der Windows-Eingabeaufforderung gibt es keine integrierte Möglichkeit, einen Befehl zeitlich zu steuern. Es gibt jedoch mindestens einen einfachen Weg, um herauszufinden, wann Ihr Befehl gestartet und gestoppt wurde. Sie können eine Batchdatei erstellen, die die Umgebungsvariable % time% verwendet . Wenn Sie beispielsweise eine Batchdatei namens mytime.bat erstellen und diese Zeilen angeben :

 @echo off set timestart =% time%% * echo Start:% timestart% echo Ende:% time% 

Die Variable % time% ist die aktuelle Uhrzeit und % * steht alles hinter dem Befehlsnamen. So zum Beispiel den Befehl dir zum Beispiel:

 mytime dir c: \ 
 Volume in Laufwerk C: Windows10 Volume-Seriennummer ist 5CB6-BCD6 Verzeichnis c: \ [ Verzeichnisliste ... ] 28 Datei (en) 4.500.506 Bytes 12 Dir (s) 23.807.946.752 Bytes frei Start: 19: 31: 18.87 Fertig: 19 : 31: 18, 89 

Hinweis: Diese Methode ist nicht genau. Es misst nicht die CPU-Zeit, sondern nur die Uhrzeit der "Wanduhr". Andere Programme, die auf Ihrem Computer ausgeführt werden, wirken sich daher auf die angezeigten Zeiten aus. Die Dauer muss auch manuell berechnet werden, indem die Startzeit von der Endzeit abgezogen wird.

In Windows PowerShell

In Windows PowerShell können Sie herausfinden, wie lange ein Programm ausgeführt werden muss, indem Sie es mit dem Cmdlet Measure-Command starten. Im Allgemeinen wird es so verwendet:

 Messbefehl { Befehl } 

Der Befehl wird ausgeführt, aber keine Ausgabe wird angezeigt. Stattdessen zeigt die Ausgabe Informationen darüber an, wie lange es dauert, bis der Befehl abgeschlossen ist. Zum Beispiel:

 Messbefehl {dir} 
 Tage: 0 Stunden: 0 Minuten: 0 Sekunden: 0 Millisekunden: 14 Ticks: 142200 GesamtTage: 1.64583333333333E-07 GesamtStunden: 3.95E-06 GesamtMinuten: 0.000237 GesamtSekunden: 0.01422 GesamtMillisekunden: 14.22 

In Linux

In Linux können Sie vor jedem Shell-Befehl den Zeitbefehl angeben, um dessen Dauer zu messen. Mit dem folgenden Befehl werden beispielsweise alle Dateien im oder unterhalb des aktuellen Verzeichnisses gesucht, die das Wort " Hoffnung" enthalten, und es wird berichtet, wie lange es dauerte, bis sie gefunden wurden:

 Zeit finden / home / myuser -iname '* hope *' 
 /home/myuser/files/computer-hope.jpg /home/myuser/backup/hope-backup.zip echte 0m0.298s-benutzer 0m0.164s sys 0m0.088s 

Im Gegensatz zu Measure-Command zeigt die Linux- Zeit alle Ausgaben des Befehls an, für den der Zeitpunkt festgelegt ist. Dann wird dreimal berichtet: Benutzerzeit (wie viel Zeit der Befehl tatsächlich ausgeführt hat), sys-Zeit (wie viel Zeit der Kernel für die Ausführung der erforderlichen Systemaufgaben aufgewendet hat) und Echtzeit (gesamt verstrichene Zeit).

  • Datum und Uhrzeit eines Computers einstellen oder ändern.

Hardware-Begriffe, Software-Begriffe