We are long overdue for a new live session as well as some more articles. I am working hard on it. However, I just moved into my new apartment few days back and it took a while getting settled. Also, I got a new flatmate Cooper who is a three months old rescue puppy, and it’s been a bit of an adjustment having to take care of him.
But I’ve few things planned for the coming weeks which I hope many of you will find exciting. Let’s see what these are.
Upcoming Article Series on CPython JIT Internals
First, let’s talk about what I’m working on at the moment. CPython is getting a just-in-time (JIT) compiler with the 3.13 release which is going to improve its performance quite a lot. The design of this JIT compiler is very simple and elegant. I am working on an article series to explain how it has been implemented. This series is currently planned to have three articles:
The design & implementation of CPython’s virtual machine (coming out in next few days)
Instruction specialization and inline caching in the virtual machine
Design & implementation of CPython’s JIT compiler
Early Access to Articles
This series will be released in early-access model, i.e., the paid subscribers will get early access to the articles as soon as I finish writing them. I will open the whole series once all the articles are published. So if you want early access to these, consider upgrading to a paid subscription.
Next Live Session on the Internals of CPython Virtual Machine
The virtual machine is the most interesting part of any bytecode based programming language because this is where all the action happens. Also, if you intend to hack on CPython you need to understand how this code works. In this session we will cover the following topics:
What is a bytecode virtual machine
Types of virtual machines
CPython’s bytecode format
What are the different bytecode instructions
How are the instructions packed
High level overview of CPython’s virtual machine design
Walk through of CPython’s virtual machine implementation
We will see how the virtual machine code is organized and look at the main entry point through which code execution happens
We will also discuss some of the optimization techniques that are implemented to improve its performance
When
27th April, 17:30 UTC to 19:00 UTC
Logistics
The session will be hosted on zoom with max cap of 100 attendees. The session is free for the paid subscribers, so to attend it you simply need to upgrade your membership. However, if you are just interested in this one session consider buying a one time ticket to it instead.
Buy Ticket to the Session
If you are not a paid subscriber and wish to just access this session (live or recording), you can do so by buying a ticket to it at the below link.
Event Link
If you are a paid subscriber you can register for the session at the below link