An Insight into CPython Compiler Design

Speaker Name Ramkumar Ramachandra
Organization Indian Institute of Technology, Kharagpur
Type FOSS Talk (Main session)
Scope Technical
Abstract The objective of this talk is to give the audience an insight into compiler design, specifically the design of the CPython compiler. The talk attempts to do this by taking apart the Unladen Swallow codebase.

Starting from a small hand-waving discussion using block diagrams, we will discuss compiler optimization techniques introduced by Unladen Swallow using revision control to playback changes. There is (and will be) no original research; only implementation of ideas from existing research papers.

A significant portion of the talk will be dedicated to compiling Python bytecode to LLVM IR (in Python/llvm_compile.cc), and the eval loop (in Python/eval.cc). While there are thousands of possible optimizations, only those which yield significant benefits and are in line with CPython's objectives will be discussed.
Speaker Profile Ramkumar can be described in short as a self-taught hacker-programmer with a research tilt. Currently, he is a full-time undergraduate student at the Indian Institute of Technology, Kharagpur. In his free time, he contributes bits and pieces to several free software projects, including StumpWM and South (a migration framework for Django). While language design/ compiler theory is his primary research interest, he has considerable experience with software engineering. A lot of his code is up on GitHub [http://github.com/artagnon]


Back to previous page