3 ms·
Unfortunately, there are no signs that CPython is moving towards integrating a JIT after all these years and despite its massive popularity. There's therefore n
by NeverFade 4y ago
Unfortunately, there are no signs that CPython is moving towards integrating a JIT after all these years and despite its massive popularity. There's therefore no clear path towards substantially improved CPython performance, and it remains among the slowest mainstream languages, really the slowest among its top group of 4-5 most popular languages.
- kzrdude 4y agoJIT has been mentioned in the faster-cpython work though. But you're right to be skeptical, they are putting it off too ("it's not 3.11 and maybe not for 3.12"), and it's not something that can be added easily between two releases.
- adgjlsfhk1 4y agoR is typically 5-10x slower, but other than that, yes.
- woadwarrior01 4y agoThere's a lot of performance to be gained in cPython by improving the runtime. Also, one could argue that the quickening pass[1] they've added in 3.11 is a proto-JIT. Baby steps, I guess. In the past, I've seen quite a few attempts at bolting on simple template JITs onto the cPython interpreter loop[2], with lacklustre results. They'll eventually need a JIT, once all the easy wins in runtime perf have been exhausted. OTOH, I'm glad that runtime performance is finally getting the attention it deserves from the cPython core devs. This wasn't the case, just a few years ago. [1]: https://peps.python.org/pep-0659/ https://peps.python.org/pep-0659/ [2]: https://github.com/python/cpython/blob/main/Python/ceval.c https://github.com/python/cpython/blob/main/Python/ceval.c
- NeverFade 4y ago> They'll eventually need a JIT, once all the easy wins in runtime perf have been exhausted. How soon is "eventually"? :-) Python is 31 years old at this point, and incredibly popular. If JIT hasn't happened yet, what eventuality will finally make it happen? For comparison, Javascript had incredibly mature JIT implementations by the time it reached its 15th year of existence.
- pjmlp 4y agoHence my "Yeah, I know", and pointing out that I only use it for UNIX scripting.