测试项目
Web Bench 通过 8 个类别、数十项细分测试,观察设备在浏览器中的表现。你可以在下方了解每个类别测的是什么、与日常使用的哪些体验相关,以及数值是越高越好还是越低越好。设备或浏览器不支持的项目会被自动排除,所有数值都会因环境而异,仅供参考。
CPU单核
CPU 单核测试的是单个核心完成文本处理、JSON 解析、压缩、哈希、图像处理、排序、路径搜索、物理模拟、光线追踪和线性代数等真实任务的速度。网页加载、应用响应速度,以及一次只做一件事的程序,其体验大体与这个数值接近。单位是每秒完成的操作数,数值越高,说明同样时间内完成的工作越多。AES-GCM、Deflate 等需要浏览器 API 的项目,在不支持时会被排除,只用剩余项目计算得分。
- 文本处理 · 单核
- 分词及正则表达式搜索与替换
- JSON · 单核
- 大型文档解析和序列化
- LZ压缩 · 单核
- 自实现LZ压缩与解压
- SHA-256 · 单核
- JavaScript哈希吞吐量
- 图像处理 · 单核
- 高斯模糊、缩放和色彩转换
- 排序与数据结构 · 单核
- 排序、哈希表和优先队列
- A*寻路 · 单核
- 含障碍物的大网格最短路径
- 物理模拟 · 单核
- n体引力与弹性碰撞
- CPU光线追踪 · 单核
- 球体场景渲染
- 线性代数 · 单核
- 矩阵乘法与部分选主元LU分解
- 大整数 · 单核
- BigInt乘法和64位素数检测
- 文档解析 · 单核
- 标记分词和树构建
- AES-GCM · 单核
- SubtleCrypto加密与解密
- Deflate · 单核
- CompressionStream压缩与解压
CPU多核
CPU 多核把同类任务分配给多个 Worker 同时运行,测试多个核心协同工作时的吞吐量。视频编码、大文件处理,以及同时使用多个标签页和应用时,差异最为明显。单位是每秒操作数,越高越好。不过它会受到浏览器所用 Worker 数量和同步方式的影响,请不要只用物理核心数来解读。在无法使用加密或压缩 API 的环境中,相应项目会被排除。
- 文本处理 · 多核
- 分词及正则表达式搜索与替换
- JSON · 多核
- 大型文档解析和序列化
- LZ压缩 · 多核
- 自实现LZ压缩与解压
- SHA-256 · 多核
- JavaScript哈希吞吐量
- 图像处理 · 多核
- 高斯模糊、缩放和色彩转换
- 排序与数据结构 · 多核
- 排序、哈希表和优先队列
- A*寻路 · 多核
- 含障碍物的大网格最短路径
- 物理模拟 · 多核
- n体引力与弹性碰撞
- 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个词元的吞吐量
- 单张图像分类
- 固定224×224 RGB图像·不含预处理·MobileNetV4 fp32