开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
native 渲染
性能与优化
小程序全局配置
小程序页面
axml
sjs 语法参考
事件系统
自定义组件
基础能力
基础库
基础库更新日志
开发 > 框架 > 性能与优化 > mywebassembly
收藏
订阅更新
我的文档
设置
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 feature
ios 支付宝小程序
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创建 worker
2在 worker 内使用 mywebassembly
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图