측정 항목
Web Bench는 8개 카테고리, 수십 개의 세부 테스트로 기기가 브라우저 안에서 일하는 모습을 살펴봅니다. 아래에서 각 카테고리가 무엇을 재는지, 일상에서 어떤 체감과 이어지는지, 숫자가 높을수록 좋은지 낮을수록 좋은지 확인하세요. 기기나 브라우저가 지원하지 않는 항목은 자동으로 제외되며, 모든 값은 환경에 따라 달라지는 참고값입니다.
CPU 싱글
CPU 싱글은 코어 하나로 텍스트 처리, JSON 파싱, 압축, 해시, 이미지 처리, 정렬, 경로 탐색, 물리 시뮬레이션, 레이 트레이싱, 선형대수 같은 실제 작업을 얼마나 빨리 끝내는지 재는 항목입니다. 웹 페이지 로딩, 앱 반응 속도, 한 가지 일을 처리하는 프로그램의 체감은 대체로 이 값과 가깝습니다. 단위는 초당 작업 수이므로 높을수록 같은 시간에 더 많은 일을 했다는 뜻입니다. AES-GCM이나 Deflate처럼 브라우저 API가 필요한 항목은 지원되지 않으면 제외되고, 남은 항목으로만 계산합니다.
- 텍스트 처리 · 싱글
- 토크나이저와 정규식 검색·치환
- JSON · 싱글
- 큰 문서 파싱·직렬화
- LZ 압축 · 싱글
- 자체 LZ 압축·해제
- SHA-256 · 싱글
- 자바스크립트 해시 처리량
- 이미지 처리 · 싱글
- 가우시안 블러·리사이즈·색 공간 변환
- 정렬·자료구조 · 싱글
- 정렬·해시맵·우선순위 큐
- A* 경로 탐색 · 싱글
- 장애물이 있는 큰 격자 최단 경로
- 물리 시뮬레이션 · 싱글
- n-body 중력·탄성 충돌
- CPU 레이 트레이싱 · 싱글
- 구체 장면 렌더링
- 선형대수 · 싱글
- 행렬곱·부분 피벗 LU 분해
- 큰 정수 · 싱글
- BigInt 곱셈·64비트 소수 판정
- 문서 파싱 · 싱글
- 마크업 토크나이즈·트리 구성
- AES-GCM · 싱글
- SubtleCrypto 암호화·복호화
- Deflate · 싱글
- CompressionStream 압축·해제
CPU 멀티
CPU 멀티는 같은 종류의 작업을 여러 Worker에 나누어 실행해 코어를 함께 쓸 때의 처리량을 재는 항목입니다. 영상 인코딩, 대용량 파일 처리, 여러 탭과 앱을 동시에 쓰는 상황에서 체감 차이가 나타납니다. 단위는 초당 작업 수이며 높을수록 좋습니다. 다만 브라우저가 쓰는 Worker 수와 동기화 방식에 영향을 받으므로 물리 코어 수만으로 해석하지 마세요. 암호화나 압축 API를 쓸 수 없는 환경에서는 해당 항목이 제외됩니다.
- 텍스트 처리 · 멀티
- 토크나이저와 정규식 검색·치환
- JSON · 멀티
- 큰 문서 파싱·직렬화
- LZ 압축 · 멀티
- 자체 LZ 압축·해제
- SHA-256 · 멀티
- 자바스크립트 해시 처리량
- 이미지 처리 · 멀티
- 가우시안 블러·리사이즈·색 공간 변환
- 정렬·자료구조 · 멀티
- 정렬·해시맵·우선순위 큐
- A* 경로 탐색 · 멀티
- 장애물이 있는 큰 격자 최단 경로
- 물리 시뮬레이션 · 멀티
- n-body 중력·탄성 충돌
- CPU 레이 트레이싱 · 멀티
- 구체 장면 렌더링
- 선형대수 · 멀티
- 행렬곱·부분 피벗 LU 분해
- 큰 정수 · 멀티
- BigInt 곱셈·64비트 소수 판정
- 문서 파싱 · 멀티
- 마크업 토크나이즈·트리 구성
- AES-GCM · 멀티
- SubtleCrypto 암호화·복호화
- Deflate · 멀티
- CompressionStream 압축·해제
메모리
메모리는 연속된 16 MB 구간을 읽고 쓰고 복사하는 처리량과, 데이터를 무작위로 따라가며 접근할 때의 지연 시간을 함께 봅니다. 큰 이미지나 영상 편집, 많은 탭을 연 상태, 게임 로딩처럼 데이터를 많이 옮기는 작업에서 체감과 이어집니다. 처리량은 GB/s 단위라 높을수록 좋고, 랜덤 접근 지연은 ns 단위라 낮을수록 좋습니다. 접근 크기를 바꿔 가며 재기 때문에 캐시 계층에서 속도가 달라지는 지점도 가늠할 수 있습니다.
- 순차 읽기
- 16 MB 연속 메모리 처리량
- 순차 쓰기
- 16 MB 연속 메모리 처리량
- 순차 복사
- 16 MB 연속 메모리 처리량
- 랜덤 접근 · 16 KB
- 종속 포인터 추적으로 캐시 계층 지연 측정
- 랜덤 접근 · 64 KB
- 종속 포인터 추적으로 캐시 계층 지연 측정
- 랜덤 접근 · 256 KB
- 종속 포인터 추적으로 캐시 계층 지연 측정
- 랜덤 접근 · 1 MB
- 종속 포인터 추적으로 캐시 계층 지연 측정
- 랜덤 접근 · 4 MB
- 종속 포인터 추적으로 캐시 계층 지연 측정
- 랜덤 접근 · 16 MB
- 종속 포인터 추적으로 캐시 계층 지연 측정
- 랜덤 접근 · 64 MB
- 종속 포인터 추적으로 캐시 계층 지연 측정
- 랜덤 접근 · 256 MB
- 종속 포인터 추적으로 캐시 계층 지연 측정
GPU 그래픽
GPU 그래픽은 화면에 보이지 않는 곳에서 대량의 삼각형, 131,072개 파티클, 블룸과 블러 후처리를 그려 평균 FPS를 재는 항목입니다. 웹 게임, 3D 지도, 시각 효과가 많은 페이지가 얼마나 부드럽게 움직이는지와 관련이 있습니다. 단위는 FPS이며 높을수록 좋습니다. WebGPU를 쓸 수 없으면 WebGL2 경로로 대신 실행될 수 있고, 둘 다 불가능하면 이 카테고리는 제외됩니다.
- 대량 삼각형
- 오프스크린 그래픽 렌더링 · 평균 FPS
- 파티클 131,072개
- 오프스크린 그래픽 렌더링 · 평균 FPS
- 블룸·블러 후처리
- 오프스크린 그래픽 렌더링 · 평균 FPS
GPU 연산
GPU 연산은 그래픽이 아니라 계산을 GPU에 맡겼을 때의 속도를 봅니다. f32·f16 행렬곱, 이미지 컨볼루션, 파티클 시뮬레이션, 병렬 합을 실행하고 결과 버퍼가 맞는지도 검증합니다. 브라우저 안의 영상 처리나 AI 추론처럼 병렬 계산이 많은 작업과 가장 가깝습니다. 행렬곱은 GFLOPS, 나머지는 초당 처리 원소 수로 표시하며 모두 높을수록 좋습니다. WebGPU나 shader-f16 기능이 없으면 해당 항목은 제외됩니다.
- 행렬곱 f32
- WebGPU 연산 · 결과 버퍼 검증
- 행렬곱 f16
- WebGPU 연산 · 결과 버퍼 검증
- 이미지 컨볼루션
- WebGPU 연산 · 결과 버퍼 검증
- 파티클 시뮬레이션
- WebGPU 연산 · 결과 버퍼 검증
- 병렬 합 (reduction)
- WebGPU 연산 · 결과 버퍼 검증
브라우저
브라우저 카테고리는 DOM 조작과 레이아웃, Canvas 2D 드로잉, 화면 주사율과 프레임 일관성을 재는 항목입니다. 복잡한 웹 앱을 열었을 때의 반응, 스크롤과 애니메이션의 부드러움 같은 일상 체감과 직접 이어집니다. DOM과 Canvas는 초당 작업 수라 높을수록 좋고, 프레임 간격은 ms 단위라 낮을수록 좋습니다. 이 항목은 하드웨어뿐 아니라 브라우저 엔진과 화면 설정의 영향을 크게 받으므로 같은 브라우저끼리 비교하세요.
- DOM 조작·레이아웃
- 가상 목록 생성·수정 및 레이아웃 확정
- Canvas 2D
- 경로·도형·텍스트 드로잉
- 화면 주사율·프레임 일관성
- requestAnimationFrame 간격 · 주사율과 p95 편차
저장소
저장소는 브라우저가 제공하는 OPFS에 임시 파일을 만들어 순차 쓰기, 순차 읽기, 랜덤 쓰기, 랜덤 읽기 속도를 재고, 끝나면 파일을 삭제합니다. 큰 파일을 내려받거나 오프라인 앱 데이터를 불러올 때의 체감과 관련이 있습니다. 단위는 MB/s이며 높을수록 좋습니다. 브라우저가 OPFS를 지원하지 않거나 개인정보 보호 모드 등으로 막혀 있으면 이 카테고리는 제외됩니다.
- 순차 쓰기
- OPFS 임시 파일 입출력 · 완료 후 삭제
- 순차 읽기
- OPFS 임시 파일 입출력 · 완료 후 삭제
- 랜덤 쓰기
- OPFS 임시 파일 입출력 · 완료 후 삭제
- 랜덤 읽기
- OPFS 임시 파일 입출력 · 완료 후 삭제
AI 추론 (선택)
AI 추론은 선택 항목으로, 모델 다운로드에 동의한 경우에만 실행합니다. 고정된 테스트 문장과 이미지를 입력해 브라우저 안에서 텍스트 생성과 이미지 모델이 얼마나 빨리 돌아가는지 재며, 개인 파일은 사용하지 않습니다. 온디바이스 AI 기능이 얼마나 쾌적할지 가늠하는 참고 지표이고 처리 속도 값은 높을수록 좋습니다. 동의하지 않으면 실행하지 않고 총점 계산에서도 제외하며, WebGPU를 쓸 수 없으면 WASM 경로로 대신 실행되고 그 사실을 따로 표시합니다.
- 첫 토큰 시간
- generate 호출부터 첫 출력 토큰까지 · 토큰화 제외
- 프롬프트 처리
- 입력 토큰 수 / 첫 forward 시간 · 토큰화·샘플링 제외
- 텍스트 생성
- greedy 128토큰 · 첫 토큰 이후 127토큰 처리량
- 이미지 분류 1장
- 고정 224×224 RGB 이미지 · 전처리 제외 · MobileNetV4 fp32