N
O
D
E
M
E
D
I
A
Thinking
首页
产品
文档
博客
订单
文档
使用SIMD和WASM性能对比
2026年 5月 20日 下午12:18
## 基础原理 **SIMD**全称Single Instruction Multiple Data,单指令多数据流,能够复制多个操作数,并把它们打包在大型寄存器的一组指令集。 以加法指令为例,单指令单数据(SISD)的CPU对加法指令译码后,执行部件先访问内存,取得第一个操作数;之后再一次访问内存,取得第二个操作数;随后才能进行求和运算。而在SIMD型的CPU中,指令译码后几个执行部件同时访问内存,一次性获得所有操作数进行运算。这个特点使SIMD特别适合于多媒体应用等数据密集型运算。 在微处理器中,单指令流多数据流技术则是一个控制器控制多个平行的处理微元,如X86中的SSE,AVX,Arm中的Neon,现在叫asimd。  在js运行环境中,目前还没有完美的线程方案来利用多核解码,那么我们可以优化至少让单核进行并行运算。这是chrome91和firefox89正式带来的WebAssembly SIMD技术。  ## 测试对比 测试环境: - CPU:Intel Xeon E3-1270 v6 @ 3.8GHz - MEM:DDR4 2400MHz 16GBx2 - 浏览器:GoogleChrome 135.0.7049.96 <video src="https://cdn.nodemedia.cn/video/SIMDvsWASM.mp4" style="width: 100%; height: 100%;" controls="controls"></video> 可以看到,SIMD版解码在大多数场景下,CPU占用率只有WASM的1/3 。 [WASM版在线demo](http://demo.nodemedia.cn/uploads/wasm/index.html?url=https://live.nodemedia.cn:8443/live/tcl_265.flv "WASM版在线demo") [SIMD版在线demo](http://demo.nodemedia.cn/uploads/simd/index.html "SIMD版在线demo") ## 使用环境  [CanIUse](https://caniuse.com/?search=SIMD "CanIUse")
嘿,我是小R,需要帮助随时找我哦
QQ客服:281269007
邮件支持
扫码加微信
回到顶部