Co mierzymy

Web Bench sprawdza, jak urządzenie pracuje w przeglądarce, w 8 kategoriach i kilkudziesięciu testach szczegółowych. Poniżej zobaczysz, co mierzy każda kategoria, z jakim odczuciem na co dzień się wiąże i czy wyższa liczba oznacza lepszy wynik. Testy nieobsługiwane przez urządzenie lub przeglądarkę są pomijane automatycznie, a wszystkie wartości są orientacyjne i zależą od środowiska.

CPU jednordzeniowe

CPU jednordzeniowe mierzy, jak szybko jeden rdzeń wykonuje realne zadania: przetwarzanie tekstu, parsowanie JSON, kompresję, hashowanie, obróbkę obrazu, sortowanie, wyszukiwanie ścieżek, symulację fizyki, ray tracing i algebrę liniową. Z tą wartością zwykle zgadza się odczucie przy ładowaniu stron, reakcji aplikacji i programach wykonujących jedną rzecz naraz. Jednostką jest liczba operacji na sekundę, więc wyższy wynik oznacza więcej pracy w tym samym czasie. Testy wymagające API przeglądarki, jak AES-GCM czy Deflate, są pomijane, gdy nie są dostępne, a wynik liczy się z pozostałych.

Przetwarzanie tekstu · Jeden rdzeń
Tokenizacja i wyszukiwanie/zamiana regex
JSON · Jeden rdzeń
Parsowanie i serializacja dużych dokumentów
Kompresja LZ · Jeden rdzeń
Własna kompresja i dekompresja LZ
SHA-256 · Jeden rdzeń
Przepustowość haszowania JavaScript
Przetwarzanie obrazu · Jeden rdzeń
Rozmycie Gaussa, skalowanie i konwersja kolorów
Sortowanie i struktury danych · Jeden rdzeń
Sortowanie, mapa haszująca i kolejka priorytetowa
Wyszukiwanie drogi A* · Jeden rdzeń
Najkrótsza droga na siatce z przeszkodami
Symulacja fizyczna · Jeden rdzeń
Grawitacja n ciał i zderzenia sprężyste
Śledzenie promieni CPU · Jeden rdzeń
Renderowanie sceny kul
Algebra liniowa · Jeden rdzeń
Mnożenie macierzy i LU z częściowym wyborem elementu
Duże liczby całkowite · Jeden rdzeń
Mnożenie BigInt i test pierwszości 64-bit
Parsowanie dokumentu · Jeden rdzeń
Tokenizacja znaczników i tworzenie drzewa
AES-GCM · Jeden rdzeń
Szyfrowanie i deszyfrowanie SubtleCrypto
Deflate · Jeden rdzeń
Kompresja i dekompresja CompressionStream

CPU wielordzeniowe

CPU wielordzeniowe mierzy przepustowość, gdy to samo zadanie jest rozdzielone na wiele workerów i używa kilku rdzeni naraz. Różnicę widać przy kodowaniu wideo, przetwarzaniu dużych plików i jednoczesnej pracy w wielu kartach i aplikacjach. Jednostką jest liczba operacji na sekundę, a wyższy wynik jest lepszy. Wynik zależy jednak od liczby workerów używanych przez przeglądarkę i sposobu synchronizacji, więc nie interpretuj go wyłącznie przez liczbę rdzeni fizycznych. Tam, gdzie API szyfrowania lub kompresji jest niedostępne, dany test jest pomijany.

Przetwarzanie tekstu · Wiele rdzeni
Tokenizacja i wyszukiwanie/zamiana regex
JSON · Wiele rdzeni
Parsowanie i serializacja dużych dokumentów
Kompresja LZ · Wiele rdzeni
Własna kompresja i dekompresja LZ
SHA-256 · Wiele rdzeni
Przepustowość haszowania JavaScript
Przetwarzanie obrazu · Wiele rdzeni
Rozmycie Gaussa, skalowanie i konwersja kolorów
Sortowanie i struktury danych · Wiele rdzeni
Sortowanie, mapa haszująca i kolejka priorytetowa
Wyszukiwanie drogi A* · Wiele rdzeni
Najkrótsza droga na siatce z przeszkodami
Symulacja fizyczna · Wiele rdzeni
Grawitacja n ciał i zderzenia sprężyste
Śledzenie promieni CPU · Wiele rdzeni
Renderowanie sceny kul
Algebra liniowa · Wiele rdzeni
Mnożenie macierzy i LU z częściowym wyborem elementu
Duże liczby całkowite · Wiele rdzeni
Mnożenie BigInt i test pierwszości 64-bit
Parsowanie dokumentu · Wiele rdzeni
Tokenizacja znaczników i tworzenie drzewa
AES-GCM · Wiele rdzeni
Szyfrowanie i deszyfrowanie SubtleCrypto
Deflate · Wiele rdzeni
Kompresja i dekompresja CompressionStream

Pamięć

Pamięć sprawdza przepustowość odczytu, zapisu i kopiowania ciągłego obszaru 16 MB oraz opóźnienie przy losowym przechodzeniu po danych. Przekłada się to na pracę z dużymi obrazami i wideo, wiele otwartych kart czy ładowanie gier, czyli zadania z dużą ilością przenoszonych danych. Przepustowość podajemy w GB/s i im wyższa, tym lepiej, a opóźnienie dostępu losowego w ns, gdzie niższe jest lepsze. Ponieważ zmieniamy rozmiar obszaru, można też ocenić, na jakich poziomach hierarchii pamięci podręcznej prędkość się zmienia.

Odczyt sekwencyjny
Sekwencyjna przepustowość pamięci 16 MB
Zapis sekwencyjny
Sekwencyjna przepustowość pamięci 16 MB
kopiowanie sekwencyjnie
Sekwencyjna przepustowość pamięci 16 MB
Dostęp losowy · 16 KB
Zależne wskaźniki przez poziomy pamięci podręcznej
Dostęp losowy · 64 KB
Zależne wskaźniki przez poziomy pamięci podręcznej
Dostęp losowy · 256 KB
Zależne wskaźniki przez poziomy pamięci podręcznej
Dostęp losowy · 1 MB
Zależne wskaźniki przez poziomy pamięci podręcznej
Dostęp losowy · 4 MB
Zależne wskaźniki przez poziomy pamięci podręcznej
Dostęp losowy · 16 MB
Zależne wskaźniki przez poziomy pamięci podręcznej
Dostęp losowy · 64 MB
Zależne wskaźniki przez poziomy pamięci podręcznej
Dostęp losowy · 256 MB
Zależne wskaźniki przez poziomy pamięci podręcznej

Grafika GPU

GPU grafika rysuje poza ekranem ogromną liczbę trójkątów, 131 072 cząsteczek oraz postprocessing bloom i blur, a następnie podaje średnie FPS. Wiąże się z płynnością gier w przeglądarce, map 3D i stron z wieloma efektami wizualnymi. Jednostką są FPS, a wyższy wynik jest lepszy. Jeśli WebGPU jest niedostępne, test może zostać uruchomiony ścieżką WebGL2, a gdy brak obu, ta kategoria jest pomijana.

Wiele trójkątów
Renderowanie poza ekranem · średnie FPS
131 072 cząstki
Renderowanie poza ekranem · średnie FPS
Poświata i rozmycie po renderowaniu
Renderowanie poza ekranem · średnie FPS

Obliczenia GPU

GPU obliczenia sprawdza szybkość, gdy GPU wykonuje nie grafikę, lecz obliczenia. Uruchamiamy mnożenie macierzy f32 i f16, konwolucję obrazu, symulację cząsteczek oraz sumę równoległą, a także weryfikujemy poprawność bufora wyników. Najbliżej temu do zadań z dużą liczbą obliczeń równoległych, jak przetwarzanie wideo czy wnioskowanie AI w przeglądarce. Mnożenie macierzy podajemy w GFLOPS, resztę w elementach na sekundę, a wyższe wartości są lepsze. Bez WebGPU lub funkcji shader-f16 dany test jest pomijany.

Mnożenie macierzy f32
Obliczenia WebGPU · weryfikacja bufora wyjścia
Mnożenie macierzy f16
Obliczenia WebGPU · weryfikacja bufora wyjścia
Splot obrazu
Obliczenia WebGPU · weryfikacja bufora wyjścia
Symulacja cząstek
Obliczenia WebGPU · weryfikacja bufora wyjścia
Suma równoległa (reduction)
Obliczenia WebGPU · weryfikacja bufora wyjścia

Przeglądarka

Kategoria przeglądarki mierzy manipulację DOM i układ strony, rysowanie Canvas 2D, częstotliwość odświeżania ekranu oraz równomierność klatek. Bezpośrednio wiąże się z reakcją złożonych aplikacji webowych oraz płynnością przewijania i animacji. DOM i Canvas podajemy w operacjach na sekundę, gdzie wyższy wynik jest lepszy, a odstępy między klatkami w ms, gdzie niższy jest lepszy. Na wynik silnie wpływają silnik przeglądarki i ustawienia ekranu, nie tylko sprzęt, więc porównuj wyłącznie w obrębie tej samej przeglądarki.

Manipulacja DOM i układ
Tworzenie i zmiana listy wirtualnej oraz obliczenie układu
Canvas 2D
Rysowanie ścieżek, kształtów i tekstu
Odświeżanie i regularność klatek
Odstępy requestAnimationFrame · częstotliwość i odchylenie p95

Dysk

Dysk tworzy w OPFS udostępnianym przez przeglądarkę plik tymczasowy, mierzy prędkość sekwencyjnego i losowego zapisu oraz odczytu, a potem usuwa plik. Wiąże się to z pobieraniem dużych plików i wczytywaniem danych aplikacji offline. Jednostką jest MB/s, a wyższy wynik jest lepszy. Jeśli przeglądarka nie obsługuje OPFS albo jest on zablokowany, na przykład w trybie prywatnym, ta kategoria jest pomijana.

Zapis sekwencyjny
I/O pliku OPFS · usuwany po teście
Odczyt sekwencyjny
I/O pliku OPFS · usuwany po teście
Zapis losowy
I/O pliku OPFS · usuwany po teście
Odczyt losowy
I/O pliku OPFS · usuwany po teście

Inferencja AI (opcjonalna)

Wnioskowanie AI jest opcjonalne i uruchamiane tylko po wyrażeniu zgody na pobranie modelu. Na stałych zdaniach testowych i obrazach sprawdzamy, jak szybko w przeglądarce działają modele generowania tekstu i obrazu, bez użycia plików osobistych. To wskaźnik orientacyjny, jak komfortowo będą działać funkcje AI na urządzeniu, a wyższa szybkość jest lepsza. Bez zgody test się nie uruchamia i nie wchodzi do wyniku łącznego, a jeśli WebGPU jest niedostępne, działa ścieżka WASM, co jest osobno oznaczane.

Czas do pierwszego tokena
Od generate do pierwszego tokena · bez tokenizacji
Przetwarzanie promptu
Tokeny wejścia / pierwszy forward · bez tokenizacji i próbkowania
Generowanie tekstu
greedy 128 tokenów · przepustowość 127 po pierwszym
Klasyfikacja jednego obrazu
Stały obraz RGB 224×224 · bez przetwarzania wstępnego · MobileNetV4 fp32