Benchmark 基准测试

📝 Benchmark Benchmark

Build and run small JavaScript benchmarks in your browser — compare snippets with real timings.

📐 工作原理与说明
对多个候选实现做可复现的性能对比,输出统计指标。
  • 采样:每个候选重复运行 N 次,记录耗时,统计均值、中位数、标准差与百分位。
  • 预热:先跑若干轮 warmup 让 JIT 完成优化再正式计时,避免冷启动偏差。
  • 计时:用 performance.now()(单调高精度时钟)而非 Date.now()
  • 干扰:浏览器后台节流、GC 停顿与其他标签页负载都会污染结果,应多轮取稳定值。
负载类型: 时长
运行耗时
运算次数
性能(ops/sec)

💡 测试运行期间页面可能短暂卡顿,属正常现象。结果受浏览器/设备影响,仅供参考。

📚 深度解析:Benchmark 基准测试

💡 常见使用场景

对比
对 1e6 整数分别用 `for` 累加与 `sum()`,输出各自 ops/sec 与相对倍数。

❓ 常见问题(FAQ)

为何要预热?
JIT/缓存使首次偏慢,预热后测值更稳。
为什么每次跑结果都不一样?
JIT 编译、CPU 频率动态调整、垃圾回收与其他进程争抢都会引入波动。可靠做法是:先 warmup 若干轮让 JIT 稳定,再重复采样足够多次,报告中位数与百分位(p95/p99),并在同一台机器、相近负载下比较;只看单次运行的数字没有意义。