更新时间:2024-01-19 16:20:59收藏订阅更新我的文档设置返回文档mywebassembly 类似于 web 标准 ,能够在一定程度上提高小程序的性能。仅支持在 worker 线程内(如果是 ios,需要开启实验 worker )使用 mywebassembly。说明:●从 基础库 2.9.7 或更高版本、客户端 10.5.60 或更高版本开始支持;若版本较低,建议采取 兼容处理。●小程序开发者工具: 3.8.10 版本开始支持。与 webassembly 的异同mywebassembly 仅支持 instantiate、table、memory、global、instance 方法。1支持 mywebassembly.instantiate(path, imports) 方法,其中 path 为代码包内路径(支持.wasm 和 .wasm.br 后缀)。2支持 mywebassembly.memory,同 webassembly.memory 一致。3支持 mywebassembly.table,同 webassembly.table 一致。4支持 mywebassembly.global,同 webassembly.global 一致。5支持 mywebassembly.instance,同 webassembly.instance 一致。mywebassembly.instantiate(filepath, importobject)用于编译和实例化 webassembly 代码的主 api,返回一个 module 和它的第一个 instance 实例。和标准 webassembly.instantiate 类似,区别是:第一个参数只接受一个字符串类型的 代码包路径(仅支持绝对路径),指向代码包内 .wasm 文件 或 .wasm.br 文件。webassembly features支持度支付宝小程序双端对 wasm feature 支持度如以下表格所示:wasm featureios 支付宝小程序android 支付宝小程序支付宝客户端版本要求10.5.60 及以上版本10.5.60 及以上版本js bigint to wasm i64 integration✓✓bulk memory operations✓✓exception handling✓✓extended constant expressions✗✗garbage collection✗✗js promise integration✗✗memory64✗✗multiple memories✗✗multi-value✓✓mutable globals✓✓reference types✓✓relaxed simd✗✗non-trapping float-to-int conversions✓✓sign-extension operations✓✓fixed-width simd✓✓streamingcompilation✓✗tail calls✗✗threads and atomics✗✓type reflection✗✗说明如果 webassembly 模块使用了 wasm feature, 请在编译成 .wasm 文件时启用相关编译参数。例如,emscripten 编译使用了 simd 特性的 webassembly 模块时,需要配置编译参数 -s wasm=1 指定编译为 webassembly 模块, -msimd128 以启用 simd 支持。使用示例1创建 worker2在 worker 内使用 mywebassembly