Ich habe gerade das Rust-Programm hyperfine zum Vergleich zweier Konfigurationseinstellungen genutzt und das ist echt praktisch. Ich wollte für Language-Tool wissen, ob die Einstellungen wirklich eine Verbesserung bringen und habe hyperfine genutzt, um mehrfach mit curl Anfragen an den Dienst zu senden und damit die beiden Konfigurationen zu vergleichen.

Installiert habe ich es mit dem Rust-Paketmanager: cargo install hyperfine. Aber es gibt zum Beispiel auch ein in Debian-Unstable ein Paket für hyperfine.

Die Verwendung ist sehr einfach. Man übergibt hyperfine mehrere Shell-Befehle, die es miteinander vergleichen soll. Diese führt es dann mehrfach aus und gibt am Ende eine Übersicht aus. Da ich in meinem Fall aber den Vergleich zweier Dienstkonfigurationen wollte, musste ich hyperfine mehrfach aufrufen.

In meinem Fall war es auch notwendig, vor den eigentlichen Tests, drei Aufrufe zum Aufwärmen durchzuführen, weil der Dienst auch Zwischenergebnisse speichert.

% hyperfine --warmup 3 'curl -s …'
Benchmark 1: curl -s …
  Time (mean ± σ):     440.5 ms ±  48.1 ms    [User: 5.2 ms, System: 1.6 ms]
  Range (min … max):   387.3 ms … 547.8 ms    10 runs