dartaotruntime
- Dart course
- Expert
- Lesson 11/47
- 5 min
Learn the difference between AOT and JIT runtimes.
dartaotruntime
dartaotruntime is the runtime that runs Dart's AOT (Ahead-Of-Time) compiled programs. In AOT, all code is compiled to machine code at compile time; there is no runtime compilation. This gives fast startup and predictable performance.
The JIT (Just-In-Time) runtime runs on the VM; it compiles code at runtime. JIT provides fast recompilation for the development cycle (hot reload). AOT is used for production, JIT for development.
AOT vs JIT
AOT compiles all code to machine code at compile time; startup is fast, memory footprint is small. Production apps (Flutter release) use AOT. JIT compiles code at runtime; startup is slower but hot reload is possible during development.
JIT collects type feedback inside the VM and optimizes hot paths. AOT does all optimizations upfront via static analysis. Both take Kernel as input but their runtime strategies differ.
Practice A RuntimeMode class
Define a RuntimeMode class with final String name; final bool supportsHotReload; RuntimeMode(this.name, this.supportsHotReload); field and constructor. Add a String describe() => '$name: hot reload = $supportsHotReload'; method. In main create final r = RuntimeMode('JIT', true);; print with print(r.describe());.
Starter code
void main() {
// define a RuntimeMode class (name, supportsHotReload; describe)
// create a RuntimeMode; print describe()
}Sample solution
class RuntimeMode {
final String name;
final bool supportsHotReload;
RuntimeMode(this.name, this.supportsHotReload);
String describe() => '$name: hot reload = $supportsHotReload';
}
void main() {
final r = RuntimeMode('JIT', true);
print(r.describe());
}Expected output
JIT: hot reload = true
Questions and answers
Review the lesson questions together with their answers. To test yourself, solve the lesson interactively.
1 A runtime mode
final mode = '____';
print(mode);
final mode = 'AOT';
print(mode);
Explanation: AOT is the production runtime; it generates code at compile time.
2 Match the runtime features
| Term | Meaning |
|---|---|
AOT |
Production |
JIT |
Development |
Hot reload |
JIT feature |
Fast startup |
AOT feature |
3 In which runtime mode does hot reload work?
- Only AOT
- Only native machine
- Only browser
- JIT Correct answer
Explanation: hot reload runs in the JIT runtime (runtime compilation).