3 ms·
The tail calls in question are C tail calls inside the inner interpreter loop. They have nothing to do with Python function calls.
by ufo 1y ago
The tail calls in question are C tail calls inside the inner interpreter loop. They have nothing to do with Python function calls.
- miguelgrinberg 1y agoThat tells you how much I know about the feature. :) But in any case, I'm positive that the flag was enabled, so my results are with tail calls. I suppose part of the difference between 3.13 and 3.14 could be thanks to this.
- haberman 1y agoGood to know! Thanks for confirming. Yes, I would guess that the tail call interpreter explains part of the difference between 3.13 and 3.14. Previously the overall improvement to the interpreter has been measured at 1-5%, or even 10-15% depending on the compiler version you are using: https://blog.nelhage.com/post/cpython-tail-call/ https://blog.nelhage.com/post/cpython-tail-call/ If your benchmark setup is easy to re-run, it would be awesome to see numbers that compare the tail call interpreter to the build where it is disabled, to isolate how much improvement is due to that.