编辑
2023-09-06
编程语言
00

目录

1. JIT(Just-In-Time Compilation)
2. AOT(Ahead-Of-Time Compilation)
3. JIT vs AOT 对比

1. JIT(Just-In-Time Compilation)

  • 即时编译:程序运行时,虚拟机(如 Mono VM、CLR)会把 IL(中间语言) 动态翻译为目标机器码。
  • 特点
    • 运行时才编译,启动时开销较小;
    • 可以针对实际运行环境做优化;
    • 支持 动态类型生成反射
    • 每次执行需要耗时翻译,效率低于原生机器码。

2. AOT(Ahead-Of-Time Compilation)

  • 提前编译:在程序构建阶段,编译器(如 IL2CPP + 平台 C++ 编译器)将 IL 预先翻译为目标机器码
  • 特点
    • 启动时无需再翻译,执行效率高;
    • 依赖平台 C++/本机编译器做优化;
    • 不支持运行时动态生成代码,所有类型需在编译期可达;
    • 构建时间较长,灵活性较低。

3. JIT vs AOT 对比

jit_vs_aot_comparison.png

本文作者:xuxuxuJS

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!