benchmarking - 一个简单的 WebAssembly 和 Javascript Benchmark 场景
问题描述
我构建了一个简单的 javascript 与 WebAssembly/SIMD 基准测试,如下所示:
var sum = 0;
for (var c=0; c<N; c++)
{
var v3 = new Vector3();
sum += vs.dot(e);
}
var sum = 0;
for (var c=0; c<N; c++)
{
var v3 = new WASM_Vector3();
sum += vs.dot(e);
}
其中 WASM_Vector3 由 c++ 使用 SSE4.2 -msimd128 实现并编译成 wasm。
当 N<3000 时,WASM 的性能优于 Pure-JS。N 越大,Pure-JS 开始优于 WASM。我知道这是因为 JS/WASM 接口之间的延迟。但是有没有办法改进上面的代码来最小化接口延迟呢?
解决方案
推荐阅读
- c++ - 如何创建派生对象的向量?
- azure - Ansible 查找特定键
- java - 如何在运行时动态创建对象 T?
- amazon-web-services - 如何从 aws 应用配置服务获取客户端 ID
- javascript - 如何检查谷歌电子表格中的输入数据是否是 GAS 的有效日期类型
- python - 更改 Twitter created_at 时区
- listview - ListView.builder() 破坏了我的应用程序的整个页面。我究竟做错了什么?
- python - 安装 TensorFlow (2.1.0)[之前我有 2.0.0]
- data-structures - 如何插入结构内的哈希映射?
- ethereum - 返回错误:方法 web3_clientVersion 不存在/不可用