4 ms·
There'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 prot
by woadwarrior01 4y ago
There'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.