Łukasz Langa
👤 PersonAppearances Over Time
Podcast Appearances
And it turns out that if you do this, then you gain scalability, but you pay the price of single-threaded performance, since catching, you know, being able to acquire multiple locks is necessarily slower than just doing it once, right?
And it turns out that if you do this, then you gain scalability, but you pay the price of single-threaded performance, since catching, you know, being able to acquire multiple locks is necessarily slower than just doing it once, right?
This has been many years in the making.
This has been many years in the making.
slower for now or slower for good right for now great question so let's maybe take a step back and explain the kind of strategy that we took with this particular project which is a huge undertaking but at the same time we have a release cadence that releases pythons every year predictably in october you're gonna get a new version of python
slower for now or slower for good right for now great question so let's maybe take a step back and explain the kind of strategy that we took with this particular project which is a huge undertaking but at the same time we have a release cadence that releases pythons every year predictably in october you're gonna get a new version of python
So there's no way you can shove a big transition like this within 12 months. So what we're doing instead, essentially what you're getting is a state of the project as we are in right now. So there are things that we still need to do that are still not done.
So there's no way you can shove a big transition like this within 12 months. So what we're doing instead, essentially what you're getting is a state of the project as we are in right now. So there are things that we still need to do that are still not done.
most importantly this split for the main interpreter still having the global interpreter lock and so on and an experimental one that you have to build yourself and then you can run without a governor block that is deliberate because with all those costs that we described um we really need to reach out to the community saying like look this is now not an idea you can actually grab this python
most importantly this split for the main interpreter still having the global interpreter lock and so on and an experimental one that you have to build yourself and then you can run without a governor block that is deliberate because with all those costs that we described um we really need to reach out to the community saying like look this is now not an idea you can actually grab this python
and check whether this helps you is it better is it worthwhile the scalability for this extra complexity within the implementation and maybe this cognitive complexity that is going to be sort of passed on to the user is that worth it so the community will have to now step in and try out this new python and see okay this is slower than the non-sorted version but that's hopefully temporary but
and check whether this helps you is it better is it worthwhile the scalability for this extra complexity within the implementation and maybe this cognitive complexity that is going to be sort of passed on to the user is that worth it so the community will have to now step in and try out this new python and see okay this is slower than the non-sorted version but that's hopefully temporary but
the question to answer is, does the scalability that this enables help? So we really need them to give us two thumbs up, like, okay, keep actually working on this. Since this specialization that Pablo described and the JIT compilation that follows from that and so on and so on are obviously features that we really want to have, including in the free-threaded version.
the question to answer is, does the scalability that this enables help? So we really need them to give us two thumbs up, like, okay, keep actually working on this. Since this specialization that Pablo described and the JIT compilation that follows from that and so on and so on are obviously features that we really want to have, including in the free-threaded version.
And there are ways to go around it, but they are very complex. It is in fact like on the bleeding edge of computer science as we know it. There are plenty of known strategies for improving performance of interpreted languages. that are single-threaded. For free-threaded interpreted languages, this is really where the science sort of is still unclear, right?
And there are ways to go around it, but they are very complex. It is in fact like on the bleeding edge of computer science as we know it. There are plenty of known strategies for improving performance of interpreted languages. that are single-threaded. For free-threaded interpreted languages, this is really where the science sort of is still unclear, right?
Because JavaScript, there has been so much investment in that, like making that fast with V8, right? Like in Chrome and so on and so on. Well, that is single-threaded for the intents and purposes of our understanding of the interpreter. With a free-threaded Python, how to make that fast is more of a challenge.
Because JavaScript, there has been so much investment in that, like making that fast with V8, right? Like in Chrome and so on and so on. Well, that is single-threaded for the intents and purposes of our understanding of the interpreter. With a free-threaded Python, how to make that fast is more of a challenge.
Literally, members of our team are going to be the people writing papers about this later. So this is going to take time, no longer than one release, longer than two releases. But at the same time, we want to release what we already have so that it's no longer just a pipe dream. It's no longer just a plan or idea. Users can actually experiment with this and tell us, okay, this is actually awesome.
Literally, members of our team are going to be the people writing papers about this later. So this is going to take time, no longer than one release, longer than two releases. But at the same time, we want to release what we already have so that it's no longer just a pipe dream. It's no longer just a plan or idea. Users can actually experiment with this and tell us, okay, this is actually awesome.