垃圾收集语言(例如 Go 和 AssemblyScript)需要随应用程序一起提供运行时来处理垃圾收集。这会导致二进制大小比没有垃圾收集的语言大得多。编译为 WebAssembly 的各种语言的二进制大小如何比较?
我不能说 Go,但是 AssemblyScript 有一个可选的 GC,需要手动打开。此外,即使没有任何内存分配器直接处理线性内存,它也可以工作(请参阅https://developers.google.com/web/updates/2019/02/hotpath-with-wasm)。除了所有最终工作之外,二进制还允许针对代码收缩进行大量优化。即使使用内存分配器和内置 GC,简单的“hello world”示例也不会变得超过 2 kb,因为 tlsf 编译为大约 1 kb,增量三色标记垃圾收集器甚至更小。
\n\n当然,当这两个提案出现时,这一切都是不必要的:
\n\n\n\n\xe2\x80\x8b\xe2\x80\x8bare 在 WebAssembly 中实现。
\n| 归档时间: |
|
| 查看次数: |
1942 次 |
| 最近记录: |