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

Łukasz Langa

👤 Person
198 total appearances

Appearances Over Time

Podcast Appearances

It is just simply impossible, especially that our team is much smaller than the V8 teams, much smaller than the Java hotspot team and so on and so on. So yeah, so far there is another experimental feature in Python 3.13, which is the JIT. You have to compile with that and you have to enable it when you're running Python.

It is just simply impossible, especially that our team is much smaller than the V8 teams, much smaller than the Java hotspot team and so on and so on. So yeah, so far there is another experimental feature in Python 3.13, which is the JIT. You have to compile with that and you have to enable it when you're running Python.

So it does not have most of the optimizations that you would expect from the just-in-time compiler. Because that entire technology of just-in-time compilation is essentially a framework on top of which you can now make optimizations that make things faster. For example, if within the trace that you're building, connecting all those machine code blocks that are now faster and removing

So it does not have most of the optimizations that you would expect from the just-in-time compiler. Because that entire technology of just-in-time compilation is essentially a framework on top of which you can now make optimizations that make things faster. For example, if within the trace that you're building, connecting all those machine code blocks that are now faster and removing

indirection, you have multiple checks whether something is none or something is an integer, you can move that check of that same piece of data to the front of the trace and just do that check once and you don't have to repeat it in different parts of the code and so on. and to make sure that the traces are as long as possible. Those are different levels of optimization.

indirection, you have multiple checks whether something is none or something is an integer, you can move that check of that same piece of data to the front of the trace and just do that check once and you don't have to repeat it in different parts of the code and so on. and to make sure that the traces are as long as possible. Those are different levels of optimization.

You want to JIT relatively quickly so that people can see the uplift very quickly, but you don't want to JIT every code that is being executed because that would make the memory usage, crazy. So there's things that you need to dial in there and implement. So it is very much an in-progress project.

You want to JIT relatively quickly so that people can see the uplift very quickly, but you don't want to JIT every code that is being executed because that would make the memory usage, crazy. So there's things that you need to dial in there and implement. So it is very much an in-progress project.

It looks very promising, but so far Python 3.13 is a snapshot of the current stage of that effort as well.

It looks very promising, but so far Python 3.13 is a snapshot of the current stage of that effort as well.

Yes. So, like, we can make this, like, good cop, bad cop, or, like, you know, actually, like, devil's advocate, and, you know, like, this guy who's trying to buy this, this is good. So, I'm also the release manager of some ancient Python versions. In fact, when Python 3.13 comes out, the first version I released, which is Python 3.8, is going end of life.

Yes. So, like, we can make this, like, good cop, bad cop, or, like, you know, actually, like, devil's advocate, and, you know, like, this guy who's trying to buy this, this is good. So, I'm also the release manager of some ancient Python versions. In fact, when Python 3.13 comes out, the first version I released, which is Python 3.8, is going end of life.

So, you know, we're going to say goodbye to that. It was a very, very... you know, nice release, I really enjoyed Python 3.8, but it's time to move on. So if your use case, if your production is still running on 3.8, well, now it's high time to move since it's not going to receive any security updates anymore.

So, you know, we're going to say goodbye to that. It was a very, very... you know, nice release, I really enjoyed Python 3.8, but it's time to move on. So if your use case, if your production is still running on 3.8, well, now it's high time to move since it's not going to receive any security updates anymore.

Right, so at the time I joined as the release manager, the release process was a little bit hand-wavy in terms of when are we releasing Python. So the theory said we're releasing it every 18 month-ish. But it could be anywhere between 18 and two years, and you couldn't really tell. And definitely what you could not expect was which time of the year is this gonna happen in.

Right, so at the time I joined as the release manager, the release process was a little bit hand-wavy in terms of when are we releasing Python. So the theory said we're releasing it every 18 month-ish. But it could be anywhere between 18 and two years, and you couldn't really tell. And definitely what you could not expect was which time of the year is this gonna happen in.

And the consequence of this was that Linux distributions in particular, but also other operating systems and users, were lagging behind adoption of Python 3 versions a lot. People are like, well, Python 2, no, because Python 2.7, right? But Python 2.7 was out and then essentially frozen for... a long, long time.

And the consequence of this was that Linux distributions in particular, but also other operating systems and users, were lagging behind adoption of Python 3 versions a lot. People are like, well, Python 2, no, because Python 2.7, right? But Python 2.7 was out and then essentially frozen for... a long, long time.

So people forgot how this thing looked like before in times of Python 2.3, 2.4, 2.5, 2.6, and then 2.7. That unstable release cadence was problematic. And that cost, for example, for Fedora, which later is source for what is happening in Red Hat, was lagging behind with the releases that we had.

So people forgot how this thing looked like before in times of Python 2.3, 2.4, 2.5, 2.6, and then 2.7. That unstable release cadence was problematic. And that cost, for example, for Fedora, which later is source for what is happening in Red Hat, was lagging behind with the releases that we had.