一背景简介
手机淘宝客户端在历史上接过多种多样的脚本引擎,用于支持的语言包括:js/python/wasm/lua,其中js引擎接过的就有:javascriptco/duktape/v8/quickjs等多个。众多的引擎会面临共同面临包大小及性能相关的问题,我们是否可以提供一套方案,在能支持业务需求的前提下,用一个引擎来支持尽可能多的语言,能较好的兼顾包大小较小和性能优异。为了解决这个问题,我们开始了hyengine的探索。
二设计简介
"有hyengine就够全家用了"-hyengine是为统一移动技术所需的各种脚本语言(wasm/js/python等)执行引擎而生,以轻量级、高性能、多语言支持为设计和研发目标。目前已通过对wasm3/quickjs的jit编译及runtime优化,以极小包体积的代价实现了wasm/js执行速度2~3倍的提升,未来将通过实现自有字节码和runtime增加对python及其他语言的支持。
注:由于当前手机绝大多数都已支持arm64,hyengine仅支持arm64的jit实现。
注:由于ios不支持jit,目前hyengine只有android版本。
hyengine整体分为两大块,编译(