PyCon 2016 in Portland, Or
hills next to breadcrumb illustration

Monday 11:30 a.m.–noon

Pyjion: who doesn’t want faster for free?

Brett Cannon, Dino Viehland

Audience level:
Python Internals


At PyCon US 2015 an experiment was started: could a JIT be added to CPython which would speed up performance **and** be fully backwards-compatible? Could unaltered extension modules live happily with a JIT? That experiment is Pyjion and this talk will explain what we changed to CPython to add a pre-existing JIT to it and whether we met our goal of being a benefit instead of a hindrance.


[Pyjion]( is an attempt to add a JIT to CPython. The hope is that by designing an API which JITs can plug into it will allow for CPython to run faster for long-running jobs, foster a competitive environment for Python JITs, as well as staying fully backwards-compatible, both from a language and extension module perspective. This talk will answer three questions related to the project’s goals: 0. What API did we devise for CPython to allow for adding a JIT? 0. How did we take a pre-existing JIT and make it work with the proposed CPython API? 0. Did it lead to a performance improvement for long-running jobs?