Hermes 的核心优势之一是其字节码系统。通过提前编译(Ahead-of-Time Compilation),Hermes 将 JavaScript 源码转换为优化的字节码格式。
工作原理
- 编译阶段:在构建时将 JavaScript 源码编译为字节码
- 打包阶段:字节码被打包到应用中
- 运行阶段:Hermes 引擎直接执行字节码,无需解析源码
性能优势
- 启动更快:跳过源码解析步骤,直接执行字节码
- 内存更少:紧凑的字节码格式比源码占用更少内存
- 执行更快:字节码已经过优化,执行效率更高
与 JIT 的区别
传统 JavaScript 引擎(如 V8)使用即时编译(JIT),在运行时编译热点代码。Hermes 采用 AOT 方式,在构建时完成编译,适合移动设备的资源受限环境。
适用场景
- 移动应用启动性能要求高
- 内存受限的设备
- 需要快速首次加载的应用