手淘在移动 WebAssembly 的引擎优化技术实践-刘文辉(知兵).pdf

编号:153186 PDF 34页 16.36MB 下载积分:VIP专享
下载报告请您先登录!

手淘在移动 WebAssembly 的引擎优化技术实践-刘文辉(知兵).pdf

1、hyengine 项淘在移动 WebAssembly 的引擎优化技术实践刘辉(知兵)阿巴巴 淘宝技术部2023/02/05刘辉(知兵)阿巴巴淘宝技术部程师,hyengine 项发起2015 年加阿巴巴开始虚拟机开发及相关应落地,2017 年在机淘宝端智能团队定制适应客户端的 Python 移植及优化,2020 年开始 hyengine 项,探索编译技术对 JavaScript/WebAssembly 等语性能优化及在移动设备上的应。录Wasm3 解释器的性能优化剖析hyengine 的引hyengine 对 WebAssembly 的持总结展望01 Wasm3解释器的性能优化剖析Wasm3 的

2、编译实现Wasm3 的尾调优化Wasm3 的指令优化Wasm3 解释器的性能对(官)其他 interpreter(解释器)的案快的多!编译优化:减少指令解析开销 尾调优化:减少控制流开销 指令优化:减少指令执开销Wasm3 的编译实现(1)wac 的主循环段 wasm 进制0 x200 x000 x410 x020 x490 x040 x400 x200 x00local.get0i32.const2i32.lt_uiflocal.get0whileswitchcase 0 x20wac 执流程read localidxload variablestore variablecontinueWa

3、sm3 的编译实现(2)wac 的 read_LEBWasm3 的编译实现(3)wasm3 编译后段 wasm 进制0 x200 x000 x410 x020 x490 x040 x400 x200 x00local.get0i32.const2i32.lt_uiflocal.get00 x0000000104a32a90op_Entry0 x00006000036d86800 x0000000104a2d9e8op_u32_LessThan_ss0 x00000000000000040 x00000000000000020 x0000000104a33248op_If_r0 x0000000

4、127816e700 x0000000104a330e8op_CopySlot_320 x0000000000000000常量提前布局参数提前读取指令地址提前计算使物理寄存器变量提前布局内存量增加编译过程耗时优化:副作:Wasm3 的尾调优化(1)wac 的主循环和 global.get 实现wasm3 的 global.get 实现Wasm3 的尾调优化(2)wac 的主循环和 global.get 的汇编(精简后)wasm3 的 global.get 的汇编(主循环)Wasm3 的指令优化i32.add_op_i32_Add_rs_op_i32_Add_ss_op_i32_Add_srop

5、_数据类型_操作_数据存放式s:stack,r:register6条指令 3次内存访问8条指令 5次内存访问apple m1 数据访问耗时(单位cycle):寄存器 1,l1 缓存 3,l2缓存 18,内存 18+91ns02 hyengine 的引业务的性能问题和解释器的局限性为什么要做 hyenginehyengine 的现有架构介绍业务场景的性能问题在Android中端机器上 只能跑到20帧左右 如:8/pixel 3解释器的局限性取栈偏移取栈操作数做加法计算取下条指令地址pc指针加到下条指令位置跳转到下条指令地址为了完成 1 次加法计算,需要 3 条数据加载指令,2 条计算指令,1 条

6、跳转指令如何更快?JIT为什么要做 hyengineluapythonwasmjavascript机App的痛点cluacpythonwasm3javascript corev8duktapequickjs动态化跨平台性能包机淘宝过的引擎引擎临挑战hyengine 引擎轻量级多语性能稳定性跨平台hyengine 的现有架构介绍hybytecodeassembler(arm64)object generator(android)js jitwasm jithybytecode jitjs bytecodeswift/kotlin irjs frontendswift/kotlin fronten

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(手淘在移动 WebAssembly 的引擎优化技术实践-刘文辉(知兵).pdf)为本站 (张5G) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
折叠