How we are making CPython faster. Past, present and future.
summary
Sums the concrete claim that CPython 3.11 is noticeably faster than 3.10 with measured benchmarks (pyperformance style) and shows the actual changes applied, notably the specializing adaptive interpreter (PEP 659) and targeted bytecode/allocator tweaks, explains which microbenchmarks move and which don’t, gives surprise numbers for real workloads, and offers projected percent gains and concrete tooling and tradeoffs for how much faster 3.12 and later releases might become.
AI-written summary · about
chapters (17)
- 0:00Intro
- 1:09Time vs Speed
- 1:49Achieving 5x speedup Equivalent to a 80% reduction in execution time
- 2:27Need to consider all aspects of the runtime
- 3:08Where is the time spent?
- 5:05General Principles
- 6:56Example class and instance
- 7:29The early days
- 11:57Python object
- 13:09Interlude: Bytecode
- 13:50The past
- 16:04The future
- 17:43Region formation
- 18:31Specialization
- 18:55Partial Evaluation
- 23:11Optimization techniques
- 26:22Conclusions
related talks
50mMeasuring the performance of CPython
01h 03mA tour of CPython's runtime
29mWhat they don't tell you about building a JIT compiler for CPython
48mPython Performance: Past, Present and Future
58mPython performance Past, Present, Future
26mPython Performance at Scale - Making Python Faster at Instagram
57mPython and PyPy performance (not) for dummies
22mPyPy and the future of the Python ecosystem
