Interpreters versus compilers as a spectrum, and a fun worked example of optimising Brainfuck:
miniblog.
Related Posts
The author of rust-analyzer discussing how language features help or hinder fast IDEs.
If you allow `from m import *` you can't analyse files in isolation, and it's even harder in Rust.
Implementing interactive languages, and the tradeoffs of interpreters, JIT compilers, and AOT compilers:
It's strange how AOT compilers usually have different modes for optimising time or space usage, but JITs rarely have modes like "prefer fast startup".
The vast majority of JITs seem to focus on runtime of hot code after warming up.