WebAssembly

Oct 9, 2025 at 10:41:37

想要在 JavaScript, TypeScript 中增加性能的一种方法是适时使用 WebAssembly.

WebAssembly 很好, 但有一些细节值得注意.

wasm and wat

wasm 是 wat 的二进制形式. wasm 和 wat 之间可以互相转换. 比如使用官方的 wabt.

不过如果你在用 Intel 芯片的 Mac, 可能需要自己进行工具的编译. 目前 wabt 不为 darwin x86 提供预编译的包.

引用外部代码

在官方工具 binaryen 中, 引用的代码如:

(import "binaryen-intrinsics" "foo" (func $foo))

含义是从外部 binaryen-intrinsics 对象中读取 foo, 作为 $foo 函数进行使用.

但是这种引用在 Deno 中是不被直接支持的, 因为 Deno 认为 wat 应该引用 "文件", 而不是 "对象".

Tags: