【发布时间】:2019-07-13 05:25:55
【问题描述】:
是否有针对 webAssembly 或程序语言的标准基准测试?
我想将我的 c++ 程序迁移到 webAssembly,所以我必须做一些基准测试来测试 webAssembly 的性能并将其与 c++ 性能进行比较。
【问题讨论】:
标签: c++ testing benchmarking webassembly
是否有针对 webAssembly 或程序语言的标准基准测试?
我想将我的 c++ 程序迁移到 webAssembly,所以我必须做一些基准测试来测试 webAssembly 的性能并将其与 c++ 性能进行比较。
【问题讨论】:
标签: c++ testing benchmarking webassembly
还没有。但是对于 Wasm CG 创建一个全面的基准测试套件已经达成了强烈的共识,请参阅notes from the last F2F meeting 和链接的幻灯片。最近为它创建了一个 GHrepository,但它目前只包含一般信息。
【讨论】:
更新(调查后@Webassembly SF)
在参加了 Webassembly Meetup 并征求了各种人的意见之后。我很幸运地偶然发现了一些对此进行了非常彻底的思考的人。
原创
我一直使用 Fibonacci Sequence to 25 作为我的基准测试。
我为什么要这样做?
尽管计算成本很高,但使用多种语言进行编程非常容易,无需涉及大量导入库(相对于加密基准测试)
有一些实际用途。
似乎其他人也这样做了...(如有疑问,请自行解决)https://boyan.io/angular-wasm/fibonacci
但是,我仍然会考虑您使用 webassembly 的目的。 如果您尝试在前端网站上包含 c++ 功能......那么您是否不想测试 Javascript 针对 Webassembly 的速度(因为浏览器不支持“本机”C++ 程序,因此不能在上述条件下进行基准测试?)。我确实知道 Web-Assembly 可以在浏览器之外使用,如果是你的情况(比如物联网传感器),我会收回我之前的断言。
对于可能阅读本文的绝大多数人来说......他们可能处于“Web 应用程序的 WebAssembly”的头部空间您正在使用 wasm 介绍您的 Web 应用程序。
请如果我的假设或陈述有误,请纠正我。此外,如果权力有一个建议的标准化基准,LMK!我很想听听在网络组装方面有更多经验的人的意见!
PS:我今晚将参加SF Webassembly会议,并向那里的大佬们提出这个问题!
【讨论】:
add 操作的单个依赖链(和/或循环开销) .或者我猜对于递归情况,测试优化器将脑死 O(Fib(n)) 代码转换回 O(n) 循环的能力;看起来都失败了。这至少是一个有趣的微基准测试,但是是的,它并没有告诉我们关于全局的信息,也没有什么可以用 SIMD 或类似的东西进行自动矢量化。