我听说Webassembly将成为静态类型语言的编译目标,并且可以在浏览器中运行。有人声称它可以以(接近)本机速度在浏览器中运行。这是因为Wasm相对接近于相应机器的机器指令。
但是,有两种类型的语言可以编译为Wasm:
我目前的理解是,垃圾收集是一个会对性能产生负面影响的过程,因为它需要CPU周期。
如果Wasm程序是用具有垃圾回收的语言编写的,而不是没有垃圾回收的语言编写的,那么性能会有所不同吗?
答案 0 :(得分:8)
GC提案旨在严格按需付款。也就是说,不使用相关指令的程序不应受到任何影响。
另一种思考方式,至少就当前的Wasm浏览器实现而言,是GC提案只是为您提供了一种访问JavaScript值所在的堆的方法。无论是否存在该堆Wasm使用它,如果不使用它,则与当前情况没有区别。