NAME

Quiq::Stopwatch - Zeitmesser

BASE CLASS

Quiq::Object

SYNOPSIS

Eine Stoppuhr:

use Quiq::Stopwatch;

my $stw = Quiq::Stopwatch->new;
...
printf "%.2f\n",$stw->elapsed;

Zwei Stoppuhren für Gesamtzeit und Zwischenzeiten:

use Quiq::Stopwatch;

my $stw = Quiq::Stopwatch->new(2); # Start von zwei Timern
...
printf "%.2f\n",$stw->restart(1); # Abschnittszeit (Timer 1)
...
printf "%.2f\n",$stw->restart(1); # Abschnittszeit (Timer 1)
...
printf "%.2f\n",$stw->elapsed; # Gesamtzeit (Timer 0)

DESCRIPTION

Die Klasse implementiert einen einfachen hochauflösenden Zeitmesser. Mit Aufruf des Konstruktors wird die Zeitmessung gestartet. Mit der Methode elapsed() kann die seitdem vergangene Zeit abgefragt werden. Mit der Methode start() wird der Zeitmesser neu gestartet und die seit dem letzten Start vergangene Zeit zurückgeliefert. Mittels letzterer Methode ist es möglich, einzelne Codeabschnitte zu messen, ohne einen neuen Zeitmesser instantiieren zu müssen. Die Zeit wird in Sekunden gemessen. Die Genauigkeit (d.h. die maximale Anzahl der Nachkommastellen) ist systemabhängig. Es können $n Zeitmessungen gleichzeitig geführt werden.

SEE ALSO

Klasse Quiq::Duration

METHODS

Konstruktor

new() - Instantiiere Objekt

Synopsis

$stw = $class->new;
$stw = $class->new($n);

Arguments

$n (Default: 1)

Anzahl der Timer. Diese werden mit 0 .. $n-1 bezeichnet.

Returns

Stopwatch-Objekt

Description

Instantiiere eine Stopwatch mit $n Timern und setze sie auf den aktuellen Zeitpunkt.

Objektmethoden

elapsed() - Vergangene Zeit in Sekunden

Synopsis

$sec = $stw->elapsed;
$sec = $stw->elapsed($i);

Arguments

$i (Default: 0)

Index des abgefragten Timers.

Returns

Sekunden (Float)

Description

Liefere die Zeit, die auf Timer $i seit dem (letzten) Start vergangen ist.

elapsedReadable() - Vergangene Zeit in lesbarer Darstellung

Synopsis

$duration = $stw->elapsedReadable;
$duration = $stw->elapsedReadable($i);

Arguments

$i (Default: 0)

Index des abgefragten Timers.

Returns

Dauer (String)

Description

Liefere die Zeit, die auf Timer $i seit dem (letzten) Start vergangen ist, in der lesbaren Darstellung DdHhMmSs.

restart() - Starte Timer neu und liefere vergangene Zeit

Synopsis

$sec = $stw->restart;
$sec = $stw->restart($i);

Arguments

$i (Default: 0)

Index des gestarteten Timers.

Returns

Sekunden (Float)

Description

Starte Timer $i (setze ihn auf den aktuellen Zeitpunkt) und liefere die seit dem letzten Start vergangene Zeit zurück.

VERSION

1.206

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2022 Frank Seitz

LICENSE

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.