上传者: 42116650
|
上传时间: 2021-10-15 14:25:36
|
文件大小: 3KB
|
文件类型: -
WebAssembly SIMD 示例
本示例通过 WebAssembly 演示了 JavaScript 中 SIMD 的用法。 它运行了 2 个大小为 10000 的数组相加的 100000 倍(有关更多详细信息,请参阅 )。
第一个实现是通过 JavaScript 中的一个简单循环完成的:
for ( let j = 0 ; j < arraySize ; j ++ ) {
result [ j ] = a [ j ] + b [ j ]
}
第二个实现依赖于以手工编写的 WebAssembly 代码。 这是 SIMD 特定部分(您可以在找到整个代码):
(v128.store
( i32 . add (local. get $result ) (local. get $i ))
(i8x16.add
(v128.load (local. get $i )