CloudCastle Clock

🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano

Stopwatch — Stoppuhr

Zweck

Eine monotone Stoppuhr auf Basis von hrtime(): Messungen mit Beschriftungen, wiederholtes Stoppen ohne Verlust des Ergebnisses, elapsed(): TimeSpan, statisches measure(callable).

Wofür und wie einzusetzen

Profiling von Codeabschnitten, Messung von Pipeline-Etappen: $watch->lap('prepare'), Stopwatch::measure(fn () => heavy_work()).

Beispiel

$watch = Stopwatch::start();
$watch->lap('preparation');
$watch->lap('processing');
$total = $watch->stop();            // float seconds
$span = $watch->elapsed();          // TimeSpan
$cost = Stopwatch::measure(fn () => $job->run());

Anti-Muster

Nicht für „Wanduhr"-Zeit verwenden — die Stoppuhr kennt bewusst keinen Kalender.

Lebenszyklus

stateDiagram-v2
    [*] --> Running: start()
    Running --> Running: lap(label)
    Running --> Stopped: stop()
    Stopped --> Stopped: stop() (same result)
    Stopped --> [*]: elapsed()/laps()

Funktionsvergleich mit Alternativen

Aspekt🏆 CloudCastlesymfonycarbonlcobuccibesteergebnis
Monotone Grundlage (hrtime)✅❌❌❌❌❌
Messungen mit Beschriftungen✅❌❌❌❌❌
Messung eines Callbacks in einer Zeile✅❌❌❌❌❌
Ergebnis als TimeSpan✅❌❌❌❌❌
Gesamt🏆 400000

← Zurück zur Funktionsliste


🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano