Overview
Syllabus
Intro
Binary Compatibility (Informally)
High Performance
An ideal model of the CPython VM.
Atomic Bytecodes.
The Real CPython VM
Making the CPython VM Optimisable
Making CPython bytecodes atomic
Low-level Python
Optimisation in HotPy
Customisation (1)
Traces and Tracing
Tracing Example (1)
Traces (Output of Tracing)
Guards
Trace Management
Specialisation of Traces
Specialisation Example
Redundancy Elimination
Deferred Object Creation (3)
Deferring Objects
Deferring Example
A pictorial recipe
Example of Optimisation
Instruction Counts
Speed
Conclusions
Taught by
EuroPython Conference