Benchmark-Baustein
Freier Online-JS-Benchmark-Baustein, keine Installation erforderlich. Vergleich der Ausführungsgeschwindigkeit von JavaScript-Code
Über den Benchmark Builder
Ein direkt vergleichendes JavaScript-Mikrobenchmark-Werkzeug: Fügen Sie zwei Funktionsrümpfe (Snippet A und Snippet B) ein, legen Sie eine Iterationsanzahl fest, und das Werkzeug führt jedes Snippet über 100 Aufwärm-Aufrufe gefolgt von der eingestellten Anzahl gemessener Aufrufe aus. Anschließend werden Gesamtzeit, Operationen pro Sekunde sowie das schnellere Snippet und das Geschwindigkeitsverhältnis gemeldet.
Verwendung
1. Legen Sie Iterationen in der oberen Karte fest (Standard 10000). 2. Geben Sie in der Karte Snippet A ein optionales Label (Standard "A") und den zu benchmarkenden Funktionsrumpf ein (z. B. `return Math.random()`). 3. Tun Sie dasselbe für Snippet B (z. B. `return crypto.getRandomValues(new Uint32Array(1))[0]`). 4. Klicken Sie auf Ausführen — die Schaltfläche ist deaktiviert, bis beide Snippet-Rümpfe nicht leer sind. 5. Lesen Sie die Ergebnis-Karte: Jedes Snippet zeigt die Gesamtzeit in Millisekunden und Operationen/Sekunde sowie eine Fußzeile, die das schnellere Snippet und das Geschwindigkeitsverhältnis nennt. Wirft ein Snippet eine Ausnahme, wird der Fehler stattdessen in Rot angezeigt.
Ausführungsmodell und Metriken
Jedes Snippet wird mit `new Function(code)` umhüllt und als funktion ohne Argumente aufgerufen, sodass es ein gültiger Funktionsrumpf sein muss (verwenden Sie `return ...` für Arbeiten; Anweisungen auf oberster Ebene sind erlaubt). - Aufwärmphase: 100 unbedingte Aufrufe vor der Zeitmessung, damit die JS-Engine optimieren kann. - Messung: `performance.now()` wird vor und nach dem Ausführen des Snippets `iterations`-mal in einer engen Schleife entnommen. - Operationen pro Sekunde: berechnet als `iterations / (timeMs / 1000)`, gerundet. - Verhältnis: `max(timeA, timeB) / min(timeA, timeB)`, mit 2 Nachkommastellen angezeigt; das Snippet mit der kleineren Zeit wird als schneller gemeldet. Beachten Sie, dass dies ein Best-Effort-Mikrobenchmark im Browser ist, keine statistisch strenge Suite: Die Ergebnisse variieren mit Maschinenlast, Browser-Engine, GC-Pausen und Dead-Code-Eliminierung.
▶Warum sind meine Ergebnisse bei jedem Klick auf Ausführen anders?
▶Können die Snippets auf Variablen, Imports oder async/await zugreifen?
▶Was passiert, wenn ein Snippet eine Ausnahme auslöst?
▶Werden meine Daten an einen Server gesendet?
Wenn dieses Tool Ihnen geholfen hat, zögern Sie nicht, mir einen Kaffee zu kaufen.
Kaufe mir einen Kaffee.