Was ist Duration?

Was ist Duration?

Die Dauer ist die Zeitspanne, die für den Abschluss eines Prozesses benötigt wird. Wenn Sie zum Beispiel die Zeit überprüfen, dann spazieren gehen, dann zurückkehren und feststellen, dass fünfzehn Minuten vergangen sind, betrug die Dauer Ihres Spaziergangs fünfzehn Minuten.

Computer enthalten spezielle Hardware zum Messen der Zeit, und Betriebssysteme enthalten Befehle, mit denen Sie messen können, wie lange die Ausführung eines Programms dauert.

Wie Computer die Zeit messen

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

  • Die RTC (Echtzeituhr) verwendet einen Quarzkristall, der mit einer konstanten Frequenz vibriert, um die „menschliche Zeit“ im Auge zu behalten: Jahre, Monate, Tage, Stunden, Minuten und Sekunden. Seine Frequenz (32768 Hz) ist jedoch zu langsam, um Zeitbruchteile kleiner als 1/32768 Sekunde zu messen. Moderne CPUs können eine Operation viel schneller abschließen, sodass die RTC die Dauer eines Computerprozesses nicht genau messen kann.
  • Ein PIT (Programmable Interval Timer) ist ein Hardwarezähler, der einen Interrupt auslöst, wenn eine bestimmte Zählsumme erreicht wird. Eine übliche PIT ist die integrierte Schaltung Intel 8253, die 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 auf allen modernen x86-CPUs. Es zählt einzelne CPU-Taktzyklen und wurde erstmals mit der Pentium-Reihe von Intel-CPUs eingeführt. Zunächst war es nützlich, eine Uhr bereitzustellen, die kleinere Zeitbruchteile messen konnte als eine RTC oder PIT. Es erfordert jedoch, dass die CPU mit einer konstanten Geschwindigkeit arbeitet, um eine genaue Messung zu erhalten. Neuere CPUs können die Frequenz ändern (z. B. in einen „Turbo“-Modus wechseln, um vorübergehende Geschwindigkeitssteigerungen zu erzielen, oder im Leerlauf auf eine niedrigere Geschwindigkeit drosseln, um Strom zu sparen). Daher ist der TSC, obwohl er noch für andere Zwecke nützlich ist, nicht mehr zuverlässig für die Messung konstanter Zeit.
  • Der HPET (High Precision Event Timer) ist ein gemeinsam von Intel und Microsoft entwickelter Hardware-Timer, der auf Computern verfügbar ist, die nach 2005 hergestellt wurden. Im CPU-Chipsatz auf dem Motherboard befindet sich der HPET normalerweise auf der Southbridge. Es zählt die Zeit in 64 Bit bei mindestens 10 MHz und verwendet drei “Komparator”-Zähler (entweder 32 Bit oder 64 Bit), um eine hochpräzise Zeitmessung zu erreichen. Das HPET wird für viele Zwecke in Ihrem Computer verwendet, z. B. zum Synchronisieren des Audiostreams beim Abspielen eines Videos.

Das genaueste dieser Timing-Verfahren ist das HPET.

Wie Sie einen Prozess auf Ihrem Computer zeitlich planen

Es gibt verschiedene Möglichkeiten 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 zu timen. Es gibt jedoch mindestens einen einfachen Weg, um herauszufinden, wann Ihr Befehl gestartet und gestoppt wurde. Sie können eine Stapeldatei erstellen, die die Umgebungsvariable %time% verwendet. Wenn Sie beispielsweise eine Batchdatei mit dem Namen mytime.bat erstellen und ihr diese Zeilen geben:

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

Die Variable %time% ist die aktuelle Zeit und %* ist alles nach dem Befehlsnamen. Um beispielsweise den dir-Befehl zu timen:

mytime dir c:
 Volume in drive C is Windows10
 Volume Serial Number is 5CB6-BCD6
 Directory of c:
 [directory listing...]
              28 File(s)      4,500,506 bytes
              12 Dir(s)  23,807,946,752 bytes free
Start : 19:31:18.87
Finish: 19:31:18.89
Notiz

Diese Methode ist nicht präzise. Es misst keine CPU-Zeit, sondern nur die “Wall Clock”-Zeit. Daher beeinflussen andere Programme, die auf Ihrem Computer ausgeführt werden, die angezeigten Zeiten. Außerdem muss die Dauer manuell berechnet werden, indem die „Start“-Zeit von der „End“-Zeit subtrahiert wird.

In WindowsPowerShell

In Windows PowerShell können Sie herausfinden, wie lange die Ausführung eines Programms dauert, indem Sie es mit dem Measure-Command-Cmdlet starten. Im Allgemeinen wird es so verwendet:

Measure-Command {command}

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

Measure-Command {dir}
Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 0
Milliseconds      : 14
Ticks             : 142200
TotalDays         : 1.64583333333333E-07
TotalHours        : 3.95E-06
TotalMinutes      : 0.000237
TotalSeconds      : 0.01422
TotalMilliseconds : 14.22

Unter Linux

Unter Linux können Sie jedem Shell-Befehl den Befehl time voranstellen, um seine Dauer zu messen. Der folgende Befehl findet beispielsweise alle Dateien im oder unterhalb des aktuellen Verzeichnisses, die das Wort Hoffnung enthalten. Dann wird angezeigt, wie lange es gedauert hat, sie zu finden:

time find /home/myuser -iname '*hope*'
/home/myuser/files/computer-hope.jpg
/home/myuser/backup/hope-backup.zip
real	0m0.298s
user	0m0.164s
sys	0m0.088s

Im Gegensatz zu Measure-Command zeigt die Linux-Zeit die gesamte Ausgabe des Befehls an, der zeitlich festgelegt wird. Dann meldet es drei Mal: ​​Benutzerzeit (wie viel Zeit der Befehl tatsächlich mit der Ausführung verbracht hat), Systemzeit (wie viel Zeit der Kernel mit der Ausführung erforderlicher Systemaufgaben verbracht hat) und Echtzeit (Gesamtzeit verstrichen).

Hardwarebedingungen, Softwarebedingungen

Neueste Artikel
Vielleicht möchten Sie lesen

LEAVE A REPLY

Please enter your comment!
Please enter your name here