Pablo Galindo
👤 PersonAppearances Over Time
Podcast Appearances
So if you use the single-threaded version or the free-threaded version, which is a bit of a mouthful, so you use Python 3.13 T, but you don't have the GIL activated, you also don't have the optimizations activated because we don't know if they are safe or not. So what does it mean? It means that the free-threaded version is slower in single-threaded.
So if you use the single-threaded version or the free-threaded version, which is a bit of a mouthful, so you use Python 3.13 T, but you don't have the GIL activated, you also don't have the optimizations activated because we don't know if they are safe or not. So what does it mean? It means that the free-threaded version is slower in single-threaded.
So you only run one thread and you're using the Python 3.13 T version, it's slower because they don't have those optimizations activated.
So you only run one thread and you're using the Python 3.13 T version, it's slower because they don't have those optimizations activated.
or no actually that's a very good point so one of the things that actually surprised me a lot because like we didn't knew one of the unknowns here was how the community was going to adopt this the reason being that it's just not that python needs to be multi-threaded that now if you compile uh c extensions which are really really popular in python right that's one of the reasons people still people so many people use python the language because you know all the machine learning doesn't happen in pure python it happens on
or no actually that's a very good point so one of the things that actually surprised me a lot because like we didn't knew one of the unknowns here was how the community was going to adopt this the reason being that it's just not that python needs to be multi-threaded that now if you compile uh c extensions which are really really popular in python right that's one of the reasons people still people so many people use python the language because you know all the machine learning doesn't happen in pure python it happens on
compiled code and CUDA and GPUs, but like Python is the driver or the glue. So all that code needs to be changed or adapted at least. Because like, you know, now you don't have that lock protecting you and like who knows what happens now, right?
compiled code and CUDA and GPUs, but like Python is the driver or the glue. So all that code needs to be changed or adapted at least. Because like, you know, now you don't have that lock protecting you and like who knows what happens now, right?
So you need to, which is really challenging because right now you need to go through the entire code base, like the huge thing and sanitize the code base through this particular problem. And there is not a manual for that if you think about it. So you need to reason about the entire thing.
So you need to, which is really challenging because right now you need to go through the entire code base, like the huge thing and sanitize the code base through this particular problem. And there is not a manual for that if you think about it. So you need to reason about the entire thing.
And we were a bit scared about how people will approach this or what will happen in the sense that if you don't do this or you don't do this correctly, it's going to crash all the time or it's going to crash just once every blue moon or whatever, right? So we don't know. So one of the things that we have seen, and it's really impressive, is that the community has jumped this incredible.
And we were a bit scared about how people will approach this or what will happen in the sense that if you don't do this or you don't do this correctly, it's going to crash all the time or it's going to crash just once every blue moon or whatever, right? So we don't know. So one of the things that we have seen, and it's really impressive, is that the community has jumped this incredible.
People are building two versions of every of these extensions, one for the normal build, one for the free-threaded build, which is already huge, right? This double your CI time. That was your storage for the extensions. So it's a lot of work, actually.
People are building two versions of every of these extensions, one for the normal build, one for the free-threaded build, which is already huge, right? This double your CI time. That was your storage for the extensions. So it's a lot of work, actually.
And there's a lot of people that are so excited to jump to these extensions and they try to fix it and reason and try these little locks all around. So all those people have been trying it. And one of the things I have been super, super surprised here is that
And there's a lot of people that are so excited to jump to these extensions and they try to fix it and reason and try these little locks all around. So all those people have been trying it. And one of the things I have been super, super surprised here is that
once you add like those extensions and you have like a final application like i don't know a machine learning whatever it is right or like an llm or whatever you're thinking that uses a lot of these things right it's just not one like like five six seven really complex one plus the interpreters plus maybe a web server something like that and then you run it through the free thread version it just works i mean again who knows like maybe maybe every saturday just
once you add like those extensions and you have like a final application like i don't know a machine learning whatever it is right or like an llm or whatever you're thinking that uses a lot of these things right it's just not one like like five six seven really complex one plus the interpreters plus maybe a web server something like that and then you run it through the free thread version it just works i mean again who knows like maybe maybe every saturday just
you know like you need your entire SRE team looking at it but like but right now like it's not mega crashing because what we thought is that this was going to immediately crash like when you add enough complexity to this because it's just a statistics thing right like the chances that there is some bad interaction when you pull out the threads and the amount of code that is here is just is inevitable right and it's still you know from time to time we find
you know like you need your entire SRE team looking at it but like but right now like it's not mega crashing because what we thought is that this was going to immediately crash like when you add enough complexity to this because it's just a statistics thing right like the chances that there is some bad interaction when you pull out the threads and the amount of code that is here is just is inevitable right and it's still you know from time to time we find