Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Pricing

Łukasz Langa

👤 Person
198 total appearances

Appearances Over Time

Podcast Appearances

This enables a use case we couldn't even try before. Because that's our chicken and egg problem. Before we actually enable this, we don't see... use cases that are now impossible. So we cannot tell whether there's an untapped area of Python usage that would be now enabled with free threading. So this is what we're doing with 3.13. This is essentially this current state of the project.

This enables a use case we couldn't even try before. Because that's our chicken and egg problem. Before we actually enable this, we don't see... use cases that are now impossible. So we cannot tell whether there's an untapped area of Python usage that would be now enabled with free threading. So this is what we're doing with 3.13. This is essentially this current state of the project.

Now you can experiment with it. You can see whether you're web framework is going to be faster now, whether now you're going to be able to process data in parallel and so on and so on. This is essentially, you know, one step of a longer project.

Now you can experiment with it. You can see whether you're web framework is going to be faster now, whether now you're going to be able to process data in parallel and so on and so on. This is essentially, you know, one step of a longer project.

now who is working on making this for 3.13 and forwards, is being helped by other engineers who are like really into this and are able to find threat safety issues and data races and so on. We were able to set up threat sanitizer, which is very complex to set up in an interpreter environment like Python. Turns out it does help us with finding those issues.

now who is working on making this for 3.13 and forwards, is being helped by other engineers who are like really into this and are able to find threat safety issues and data races and so on. We were able to set up threat sanitizer, which is very complex to set up in an interpreter environment like Python. Turns out it does help us with finding those issues.

Some of them are pretty funny, like figuring out that for this entire time, the thread handle in Python was not thread safe itself. Or the threading lock was not thread safe itself. So once you actually did the operations of locking, yes, those were thread safe. But the Python object that you used was not because it didn't have to be. And now all of those things have to be actually fixed.

Some of them are pretty funny, like figuring out that for this entire time, the thread handle in Python was not thread safe itself. Or the threading lock was not thread safe itself. So once you actually did the operations of locking, yes, those were thread safe. But the Python object that you used was not because it didn't have to be. And now all of those things have to be actually fixed.

So they are probably formally correct now. So yeah, there's been a lot of work, and a lot of work is still to be done. But our hearts are warmed by how little terrible and unsolvable issues we've seen so far. Some of them are complex to debug and complex to diagnose, but we've been successful in improving the situation so far as we go.

So they are probably formally correct now. So yeah, there's been a lot of work, and a lot of work is still to be done. But our hearts are warmed by how little terrible and unsolvable issues we've seen so far. Some of them are complex to debug and complex to diagnose, but we've been successful in improving the situation so far as we go.

Yeah, production environments. However, I would be a little more optimistic about this, saying that if you are an end user, probably the kind of the amusement park is still being built for you. So like this is this is not like something that is ready for end consumption. unless you are really just trying to just see how pure Python works without all the libraries that you depend on.

Yeah, production environments. However, I would be a little more optimistic about this, saying that if you are an end user, probably the kind of the amusement park is still being built for you. So like this is this is not like something that is ready for end consumption. unless you are really just trying to just see how pure Python works without all the libraries that you depend on.

However, if you are a maintainer of a library that a lot of people depend on, you might be interested in checking it right now. So we already see plenty of interest from the data science libraries and web frameworks and so on and so on. And that's exactly the right moment for them to,

However, if you are a maintainer of a library that a lot of people depend on, you might be interested in checking it right now. So we already see plenty of interest from the data science libraries and web frameworks and so on and so on. And that's exactly the right moment for them to,

to identify whether there's any blocking issues or whether the gains are not enough for us to justify the change, or maybe the opposite, or maybe they're amazed at how better things are right now. And like, funnily enough, even things that were not ever designed with free threading in mind, like asyncio.

to identify whether there's any blocking issues or whether the gains are not enough for us to justify the change, or maybe the opposite, or maybe they're amazed at how better things are right now. And like, funnily enough, even things that were not ever designed with free threading in mind, like asyncio.

You run the test suite of asyncio and it's just faster on free threading because it just can magically utilize the fact that it is now truly parallel. So there is promise there. Definitely we expect that once the library authors actually go through some of those hoops that are required for their things to be supported by the free threaded version,

You run the test suite of asyncio and it's just faster on free threading because it just can magically utilize the fact that it is now truly parallel. So there is promise there. Definitely we expect that once the library authors actually go through some of those hoops that are required for their things to be supported by the free threaded version,

we're going to see uptake on more libraries and then more users and so on. So now's the time for the library maintainers to check it out. But for end users, it is a little soon.

we're going to see uptake on more libraries and then more users and so on. So now's the time for the library maintainers to check it out. But for end users, it is a little soon.