ai-infra-interview-305

第 42 题:编译时优化和运行时优化的权衡?AOT vs JIT

题目

编译时优化和运行时优化的权衡?AOT vs JIT


完整讲解

一、AOT 与 JIT 的含义

AOT(Ahead-of-Time):在 运行前(或部署前)完成编译,生成 固定 的可执行/库;运行时直接加载,无编译开销,启动快,但 无法根据运行时信息(如实际 shape、数据)再优化。JIT(Just-in-Time):在 首次运行或条件触发时 编译,可 根据当前 shape、设备、数据 做特化与优化,但 首包/首步延迟 高,且需 缓存 避免重复编译。

二、编译时 vs 运行时优化的权衡

三、实践中的折中


面试要点


记忆要点

  1. AOT:提前编译、一次运行多次;JIT:运行时编译、可特化,首包慢。
  2. 编译时优化多但无运行时信息;运行时可特化但编译不能太重。
  3. 折中:AOT 多版本、JIT 缓存、或热点 AOT + 长尾 JIT。
返回模块 返回总览