Brought to you by Meta. In addition to remaining active in the open source community and conference circuit, this podcast offers another channel that allows us to highlight the technical work of our engineers who will discuss everything from low-level frameworks to end-user features. Throughout the podcast, Meta engineer Pascal Hartig (@passy) will interview developers in the company.
59: Meta ❤️ Python 3.12
For the second time in just a few months, we are talking Python on the Meta Tech Podcast. Python 3.12 features a whole range of new features, many of which were contributed by Meta. Carl and Itamar join Pascal to talk about their contributions to the latest release, including new hooks that allow for custom JITs like Cinder, Immortal Objects, improvements to the type system, faster comprehensions and much more. In their discussion, they talk not just about how and why those features were built but also the process of upstreaming and engaging with the community.
Got feedback? Send it to us on Threads (https://threads.net/@metatechpod), Twitter (https://twitter.com/metatechpod), Instagram (https://instagram.com/metatechpod) and don’t forget to follow our host @passy (https://twitter.com/passy, https://mastodon.social/@passy, and https://threads.net/@passy_). Fancy working with us? Check out https://www.metacareers.com/.
Links
-
“Lazy is the new fast: How Lazy Imports and Cinder accelerate machine learning at Meta” - https://engineering.fb.com/2024/01/18/developer-tools/lazy-imports-cinder-machine-learning-meta/
-
“How Meta built the infrastructure for Threads” - https://engineering.fb.com/2023/12/19/core-infra/how-meta-built-the-infrastructure-for-threads/
-
Cinder on GitHub - https://github.com/facebookincubator/cinder
-
“Meta contributes new features to Python 3.12” - https://engineering.fb.com/2023/10/05/developer-tools/python-312-meta-new-features/
Timestamps
-
Intro 0:06
-
Carl Intro 2:09
-
Itamar Intro 3:27
-
Teams and Missions 5:10
-
Python 3
-
Faster Coroutines 8:57
-
Code Watchers and JIT Hooks 12:10
-
When to upstream 13:53
-
How to upstream to CPython 16:19
-
History of Cinder 21:35
-
Why not upstream Cinder? 25:48
-
Cinder hooks in CPython 29:34
-
Free Threading 34:10
-
Outro 37:08