gpt4 book ai didi

javascript - 哪个 JS 基准站点是正确的?

转载 作者:数据小太阳 更新时间:2023-10-29 05:24:49 25 4
gpt4 key购买 nike

我在 jsperf.com 和 jsben.ch 上创建了一个基准测试,但是,它们给出的结果截然不同。

JSPerf:https://jsperf.com/join-vs-template-venryx
JSBench:http://jsben.ch/9DaxR

请注意,代码块完全相同。

在 jsperf 上, block 1 比最快的“慢 61%”:

在 jsbench 上, block 1 只比最快的 block 慢 32%:((99 - 75)/75)

什么给了?我希望基准站点给出相同的结果,至少在百分之几以内。

就目前而言,由于不一致,我无法就哪个选项最快做出结论。

编辑

扩展的基准列表:

不确定哪个最好,但我会跳过 jsben.ch(最后一个),因为 Job 提到的原因:它不显示运行次数、误差幅度或每秒操作次数-- 这对于估算绝对性能影响以及实现基准站点和/或浏览器与浏览器版本之间的稳定比较非常重要。

(目前 http://jsbench.me 是我的最爱。)

最佳答案

2019 年 3 月更新: results are inconsistent between Firefox and Chrome - perf.zone 在 Chrome 上表现异常,jsben.ch 在 Firefox 上表现异常。在我们确切地知道原因之前,您能做的最好的事情就是在多个网站上进行基准测试(但我仍然会跳过 jsben.ch,其他网站至少会给您一些误差范围和运行次数的统计数据采取,等等)

TL;DR:perf.zone 上运行您的代码和 jsbench.github.io (参见 herehere),结果与 jsperf 非常匹配。 就个人而言,除了这些结果之外,出于其他原因,我更信任这三个网站而不是 jsben.ch。

最近,我也尝试对字符串连接的性能进行基准测试,但在我的例子中,它是从 1000000 多个单个字符串中构建一个字符串(join('') 赢了这么大的数字, 顺便提一句)。在我的机器上 jsben.ch 超时而不是给出结果。也许它对你的效果更好,但对我来说这是一个很大的警告信号:

http://jsben.ch/mYaJk

http://jsbench.github.io/#26d1f3705b3340ace36cbad7b24055fb

https://run.perf.zone/view/join-vs-concat-when-dealing-with-very-long-lists-of-single-character-strings-1512490506658

(对不起,我再也不必处理 jsperf 的 not all tests inserted 问题了)

目前我怀疑但无法证明 perf.zone 的基准数据稍微可靠一些:

  • 优化时 lz-string我使用 jsbench.github.io 很长时间了,但在某个时候我注意到某些类型的代码的错误率非常大,超过 100%。

  • 使用 jsperf.com 和 perf.zone 在移动设备上运行基准测试没问题,但 jsbench.github.io 有点卡,运行测试时 CSS 会中断。

也许这两件事是相关的:也许 jsbench.github.io 用来更新 DOM 的方法引入了某种影响基准测试的开销(它们应该元基准测试......)。

注意:perf.zone 并非没有缺陷。有时在尝试保存基准时会超时(这样做最糟糕的时间......)并且您只能 fork 自己的代码,而不能编辑它。但是输出看起来还是比较符合jsperf的,而且has a really nice "quick" mode for throwaway benchmarking

关于javascript - 哪个 JS 基准站点是正确的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44612083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com