WebAssembly for AudioWorklet的优点

时间:2018-11-01 19:47:02

标签: javascript web-audio webassembly web-audio-api

本文引文:https://developers.google.com/web/updates/2018/06/audio-worklet-design-pattern

  

WebAssembly是AudioWorkletProcessor的完美伴侣。这两个功能的结合为Web上的音频处理带来了许多优点,但是两个最大的好处是:a)将现有的C / C ++音频处理代码引入WebAudio生态系统中,以及b)避免JS的开销音频处理代码中的JIT编译和垃圾回收。

我想知道使用WebAssembly的实际好处是什么。 WebAssembly是否完全避免垃圾收集?与本地Javascript相比,这是否超过WebAssembly对性能的影响?

1 个答案:

答案 0 :(得分:0)

  

WebAssembly完全避免垃圾收集吗?

正确的,WebAssembly没有垃圾收集器。 WebAssembly本身就是一个编译目标,这就是为什么目前最简单的将非垃圾收集的语言编译为WebAssembly的原因,例如C / C ++,Rust,Go。

  

这是否超过WebAssembly与本地Javascript相比的性能损失?

不确定您的意思吗? WebAssembly的执行速度比JavaScript更快,更可预测,并且加载速度更快。例如,请参阅WebAssembly如何使Sourcemap算法的速度提高大约3倍:

https://medium.com/@JevanChan/speed-up-source-map-generation-with-webassembly-google-summer-of-code-2018-e67407ed2e49

WebAssembly特别适合算法代码-这就是为什么它非常适合音频处理的原因。