CPython, Grumpy, PyPy - When, How, Why
summary
Compares CPython, PyPy and Grumpy with concrete benchmarks and tradeoffs: CPython hits the GIL so threading raises an 8.8s counter run to ~13s, giving no speedup; PyPy’s JIT warmup yields a 3.6s Fibonacci run and much faster repeated/long-running workloads but hurts short scripts and has poor C-extension support; Grumpy compiles Python to Go producing large Go output, uses Go’s garbage collector and no GIL, and beats others when thousands of tiny goroutines run simple tasks (YouTube‑style), but is incomplete and regresses on larger computations.
AI-written summary · about
chapters (20)
- 0:00Introduction and speaker
- 1:05Python vs CPython distinction
- 2:29Global Interpreter Lock explained
- 4:19Multiprocessing vs threading
- 5:24Event-driven programming
- 8:12CPython performance demo
- 10:45Threading limitations in CPython
- 11:51When to use CPython
- 12:13PyPy overview and features
- 13:44PyPy’s approach to GIL
- 14:50Software Transactional Memory
- 15:57Just-In-Time compilation
- 17:39PyPy performance demo
- 22:39Grumpy introduction
- 23:43Why Google created Grumpy
- 25:07Grumpy architecture
- 26:49Grumpy demo and benchmarks
- 31:30Grumpy generated Go code
- 34:53Runtime comparison summary
- 36:45Q&A session








