8 Punkte von xguru 2025-12-11 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Entwickelt als ultraleichtes Benchmarking-Tool mit weniger als 10 KB, um die Code-Performance präzise zu messen
  • Funktioniert auf Basis der Web API und unterstützt exakte Zeitmessungen mit process.hrtime oder performance.now
  • Führbar in verschiedenen JavaScript-Runtime-Umgebungen wie Node.js, Deno und Bun
  • Bietet statistikbasierte Auswertungsfunktionen: Durchschnitt, Standardabweichung, Fehlerspanne, Varianz, Perzentile sowie Berechnungen für Latenz (latency) und Durchsatz (throughput)
  • Ausführungsmodus für Concurrency: Parallele Ausführung auf task- oder bench-Ebene, wobei die Option threshold die maximale gleichzeitige Anzahl steuert
  • Erweiterbar durch eventbasierte Architektur: Die Klassen Bench und Task erben von EventTarget und erlauben das Registrieren von Event-Listenern wie cycle und abort
  • Automatische Erkennung asynchroner Funktionen: Prüft automatisch, ob AsyncFunction oder ein Promise zurückgegeben wird, und konfiguriert den async-Modus automatisch
  • Ergebnisvisualisierung und -konvertierung: Konvertiert das Ausgabeformat über die Methode bench.table() in das Format von console.table(), mit benutzerdefinierten Converter-Funktionen zur Anpassung des Ausgabeformats
  • Mit aktivierter Einstellung retainSamples werden Roh-Sampeldaten unverändert gehalten und können für benutzerdefinierte Analysen, Diagrammvisualisierungen und den Export von Ergebnissen genutzt werden
  • Flexible Auswahl eines präzisen Timestamp-Providers
    • Standardmäßig performance.now()
    • Unterstützt runtime-spezifische Optimierungsoptionen wie hrtimeNow, bunNanoseconds, auto
    • Implementierung einer benutzerdefinierten TimestampProvider-Schnittstelle möglich
  • Unterstützung für Abbruchsteuerung auf Basis von AbortSignal
    • Abbruch möglich für den kompletten Benchmark oder einzelne Tasks
    • Bei einem Abbruch wird das abort-Ereignis ausgelöst und das Status-Flag (task.result.aborted) gesetzt
  • Paket mit Einzelstruktur ohne externe Bibliotheksabhängigkeiten für eine schnelle Initialisierung und Ausführungsgeschwindigkeit
  • Als besonderes Merkmal gilt ein kleineres, einfacheres und Web-API-freundlicheres Design als bei Benchmark.js, mitata, tatami-ng und Bema

Noch keine Kommentare.

Noch keine Kommentare.