Dave Rosenthal
π€ SpeakerAppearances Over Time
Podcast Appearances
That's cool. So Lucas, Pablo speaks very fast. How do you keep up with him?
That is awesome. The personal touch means so much. It does. And it's worth going that extra mile in those circumstances. Well, we're here today to talk about Python 3.13. Hopefully, I'll be able to keep up with you, Pablo. Because not only do you speak fast, but I'm kind of a visitor to your guys' world. So maybe keep them in check, Lucas.
That is awesome. The personal touch means so much. It does. And it's worth going that extra mile in those circumstances. Well, we're here today to talk about Python 3.13. Hopefully, I'll be able to keep up with you, Pablo. Because not only do you speak fast, but I'm kind of a visitor to your guys' world. So maybe keep them in check, Lucas.
We're going to specifically talk about the biggest... And I guess, I mean, this is monumental, in fact... Our community member who thought we should do an episode on this, a shout out to Christian Klaus, says this is kind of massive for Pythonistas. This is the biggest feature coming out in 3.13, which should probably be out there if you're listening to this.
We're going to specifically talk about the biggest... And I guess, I mean, this is monumental, in fact... Our community member who thought we should do an episode on this, a shout out to Christian Klaus, says this is kind of massive for Pythonistas. This is the biggest feature coming out in 3.13, which should probably be out there if you're listening to this.
We're shipping this October 2nd and slated to release October 1st officially. At least the RC is out there, but software and ship dates, we think it's probably out there. if not coming very, very, very soon, the ability to disable or remove the global interpreter lock or the GIL, as it's so lovingly referred to. Let's start at base principles. What is the GIL?
We're shipping this October 2nd and slated to release October 1st officially. At least the RC is out there, but software and ship dates, we think it's probably out there. if not coming very, very, very soon, the ability to disable or remove the global interpreter lock or the GIL, as it's so lovingly referred to. Let's start at base principles. What is the GIL?
And then after that, why would you want to remove it?
And then after that, why would you want to remove it?
Let's earmark that for a future part of this conversation. So what you're saying is... When running Python, you can switch quickly between cores, but you can't actually run the same code on multiple cores at the exact same time. So you're saying it's concurrent, but it's not parallel. Yes, correct.
Let's earmark that for a future part of this conversation. So what you're saying is... When running Python, you can switch quickly between cores, but you can't actually run the same code on multiple cores at the exact same time. So you're saying it's concurrent, but it's not parallel. Yes, correct.
Because of that lock, one at a time, and it can switch at the speed of light, but no true parallelism until now.
Because of that lock, one at a time, and it can switch at the speed of light, but no true parallelism until now.
This is one of the primary reasons why Python's reputation is being serviceable in terms of speed, but for certain workloads, certain things, it's too slow, right? Because of the GIL. This is one of the reasons why people will say, eh, I might pick something else because of the GIL. Fair or not fair?
This is one of the primary reasons why Python's reputation is being serviceable in terms of speed, but for certain workloads, certain things, it's too slow, right? Because of the GIL. This is one of the reasons why people will say, eh, I might pick something else because of the GIL. Fair or not fair?
So if you have slower single-threaded performance, you have loss of features in terms of it being more complexity, potentially, because your loss of a single lock, now you need fine-grained locks and all kinds of other things you can do, which is problematic. And a huge lift by many developers over how long you guys have been working on this?
So if you have slower single-threaded performance, you have loss of features in terms of it being more complexity, potentially, because your loss of a single lock, now you need fine-grained locks and all kinds of other things you can do, which is problematic. And a huge lift by many developers over how long you guys have been working on this?
Many years in the making. Yes. Okay, add all those together. Worth it? Well, we'll see.
Many years in the making. Yes. Okay, add all those together. Worth it? Well, we'll see.
Somebody will build it.