Benchmark JavaScript
Porównaj i zmierz wydajność dwóch funkcji JavaScript obok siebie w web workerze.
Wejście
Wyjście
Instrukcja
Co to jest benchmark JavaScript?
Benchmark JavaScript mierzy szybkość wykonania kodu poprzez wielokrotne uruchomienie go przez ustalony okres czasu i zliczenie, ile operacji na sekundę może wykonać. Benchmarking jest powszechnie używany do porównania dwóch podejść do tego samego problemu — na przykład sprawdzenia, czy Array.includes() jest szybsze niż Array.indexOf() dla danego przypadku użycia. Wyniki mogą się znacznie różnić między przeglądarkami i urządzeniami, ponieważ każdy silnik JavaScript (V8, SpiderMonkey, JavaScriptCore) ma własne optymalizacje i strategie kompilacji JIT.
Opis narzędzia
To narzędzie pozwala wkleić dwa fragmenty kodu JavaScript i uruchomić bezpośrednio w przeglądarce porównanie wydajności typu „jeden na jeden". Każdy fragment jest mierzony przez konfigurowalny czas trwania, a wyniki pokazują operacje na sekundę i średni czas na operację dla obu funkcji. Pasek postępu podkreśla względną różnicę wydajności, ułatwiając szybkie zobaczenie, które podejście jest szybsze.
Funkcje
- Uruchamia oba fragmenty w Web Worker, dzięki czemu benchmarki nigdy nie blokują ani nie zamrażają karty przeglądarki
- Konfigurowalny czas trwania benchmarku, aby zrównoważyć dokładność i czas oczekiwania
- Porównanie operacji na sekundę obok siebie z wizualnym paskiem i różnicą procentową
Jak to działa
Każdy fragment jest zawinięty w pętlę, która działa przez określony czas (domyślnie 2 sekundy) po fazie rozgrzewki trwającej 100 ms, aby umożliwić kompilatorowi JIT optymalizację kodu. Operacje są zliczane podczas okna czasowego, a operacje na sekundę są obliczane jako count / elapsed_ms * 1000. Cały benchmark działa wewnątrz Web Worker, więc nie może uzyskać dostępu do DOM, ale ma dostęp do standardowych globalnych zmiennych JavaScript, takich jak Math, Date, performance, tablice i obiekty.
Wskazówki
- Utrzymuj fragmenty samodzielne; unikaj efektów ubocznych, które się kumulują między iteracjami
- Użyj dłuższego czasu trwania (3–5 sekund), aby uzyskać bardziej stabilne wyniki dla szybkich operacji
- Wyniki odzwierciedlają Twoją konkretną przeglądarkę i maszynę — zawsze wykonuj benchmark w docelowym środowisku