WebAssembly 的 Memory64:速度与内存的权衡

2025-01-16
WebAssembly 的 Memory64:速度与内存的权衡

WebAssembly 最近引入了 Memory64,支持 64 位指针。然而,令人意外的是,Memory64 并没有带来性能提升,反而由于硬件、操作系统和 WebAssembly 本身的设计限制,导致运行速度比 32 位模式慢 10% 到 100% 以上。这是因为 32 位模式下浏览器可以预留 4GB 内存,从而避免边界检查,而 64 位模式下则必须进行边界检查,这带来了额外的计算开销。因此,除非需要超过 4GB 内存,否则 Memory64 并非最佳选择。未来,硬件和 WebAssembly 的改进可能提升 Memory64 的性能。

开发 Memory64