【问题标题】:Advantages of WebAssembly for AudioWorkletWebAssembly for AudioWorklet 的优势
【发布时间】:2018-11-02 05:18:17
【问题描述】:

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

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

我想知道使用 WebAssembly 的实际优势是什么。 WebAssembly 是否完全避免垃圾收集?这是否超过了 WebAssembly 与原生 Javascript 相比的性能损失?

【问题讨论】:

    标签: javascript web-audio-api webassembly


    【解决方案1】:

    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 特别适用于算法代码 - 这就是它非常适合音频处理的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 2011-11-20
      • 1970-01-01
      • 2012-06-10
      • 2010-12-13
      • 2014-04-05
      相关资源
      最近更新 更多