首页 > 解决方案 > 一个简单的 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 接口之间的延迟。但是有没有办法改进上面的代码来最小化接口延迟呢?

标签: benchmarkingssesimdwebassembly

解决方案


推荐阅读