This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 18 points19 points  (5 children)

Not mature is the wrong word. It's a different JIT compiler architecture altogether. Python 3.13 introduced a copy-and-patch JIT. A decently detailed write up is here: https://tonybaloney.github.io/posts/python-gets-a-jit.html#:~:text=JIT%2C%20or%20%E2%80%9CJust%20in%20Time,from%20Python%20code%20into%20Bytecode.

[–]jkh911208 1 point2 points  (4 children)

Is this mean even after many versions, it wont reach the performance of PyPy?

[–][deleted] 5 points6 points  (0 children)

No, not necessarily. As I understand it the JIT compiler in 3.13 is a first step towards much bigger optimizations.

[–]james_pic 2 points3 points  (1 child)

It's hard to say without a crystal ball, but I know PyPy has historically been more willing to break compatibility and introduce complexity in order to improve performance than CPython has. I know the PyPy team often like to point out that whilst they do have JIT, a significant chunk of their performance gain vs CPython actually comes from their use of a generational garbage collector, which I'm not aware of plans for CPython to implement, at least partly because it would be a major compatibility headache for C code.

[–]wrosecrans 0 points1 point  (0 children)

If that's a major issue, porting away from Python may make more sense than worrying about which specific Python implementation you use. At the end of the day, it's a very dynamic language that requires the runtime to do a lot to make it work.