拿到新设备的第一反应,通常是赶紧看看它到底有多强。不过真做起来却会遇到一个尴尬的问题:主流的性能测试工具几乎全是平台绑定的原生应用。Geekbench 要付费,3DMark 只跑 Windows,安兔兔是手机的专属,没有哪一款能让你用同一套测试去对比手里的 MacBook、Windows 电脑、安卓手机和 iPhone。
所以我动手写了一个开源项目——WebStress。它完全基于浏览器,不用安装、不用注册、不用去任何应用商店,只要打开一个网址就能给手里的任何设备压榨性能。本质上,浏览器本身已经强到可以胜任这件事:WebGL 能直接调用 GPU,Web Workers 可以跑多线程 CPU 任务,TypedArrays 让真实数值计算成为可能。浏览器早就不只是看文档的工具,它是一个真正的计算平台。而基于浏览器的基准测试有一个无法替代的优势——真正的跨平台公平。同一段 JavaScript 代码可以在 M4 芯片的 MacBook 上运行,也可以在 Windows 游戏机、安卓手机和 iPhone 上运行,跑的是完全相同的测试,算出来的是可以横向对比的分数。
![]()
WebStress 一共设计了 32 项子测试,分散在 6 个大类里,每一类都在盯住一种真实计算负载。CPU 这块就占了 7 个项目,而且不再只是“循环十亿次看谁快”,而是分出了具体的计算模式。整数运算梳理的是位运算、异或链和整数乘法,这是通用计算里最基础的部分。浮点测试则用三角函数、平方根和对数,直接关系到科学计算、音频处理和物理仿真。哈希/加密子项采用 FNV-1a 对 1KB 缓冲区做散列,模拟的是完整性校验、密码处理这类真实场景下的哈希负载。数组排序针对 1 万元素的 64 位浮点数组,考验分支预测、缓存效率以及 JS 引擎的排序实现。素数筛使用试除法跑上 50 万量级,纯粹看整数算术逻辑单元的通量和分支能力。矩阵乘法落在 64×64 的双精度矩阵上,这是机器学习、图形和科学计算最底层的操作。多核扩展测试则更直接:它会启动数量等于逻辑核心数的 Web Worker,同时执行整数测试,从而衡量芯片在并行负载下的扩展能力以及浏览器管理线程的效率。这个测试尤其能暴露出架构差异——苹果 M 系列芯片凭借能效核/性能核的组合,跟 Intel、AMD 的扩展曲线完全不同,你在结果里能看得清清楚楚。
GPU 这边就没有再绕弯子,直接通过 WebGL 着色器把真正的图形程序扔到硬件上。其中一个典型的指标是填充率。WebStress 还在持续补全测试覆盖面,但即便目前这个阶段,它已经能靠同一套脚本在手机和笔记本之间给出可对比的性能数据。每跑完一遍,都会生成一个统一的综合得分,让不同设备之间的比较不再各说各话。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.