JA EN
Learn › Systems

Compilers & Runtimes

Compilers, JITs, GC — why code runs fast

01 ·Compilers & Runtimes·FREE·11 min read Compilers From Scratch — How Source Becomes Machine Code One line of source code, followed all the way down through lexing, parsing, semantic analysis, intermediate representation, optimization, and code generation, until it comes out as a single machine instruction. Along the way: why bugs surface at -O2, and why your benchmark loop disappears. 02 ·Compilers & Runtimes·★ MEMBER·10 min read JIT and GC — Getting Faster While Running, Cleaning Up While Running A just-in-time compiler and a garbage collector are both services that have to work without stopping the application. Hot spot detection, tiered compilation, inlining, speculation and deoptimization, generational GC, tri-color marking and write barriers — built up from zero, ending where you can read a GC log and a JIT log yourself. 03 ·Compilers & Runtimes·★ MEMBER·11 min read Why Python Is Slow — Said Precisely Saying Python is slow bundles three unrelated complaints: the cost of a single operation, the way data is laid out in memory, and the fact that CPU work does not spread across threads. Objects and the eval loop, the real reason NumPy is fast, what the GIL actually protects, and how far free-threaded builds since PEP 703 get you — from zero assumed knowledge.