psf / pyperf

Toolkit to run Python benchmarks
http://pyperf.readthedocs.io/
MIT License
782 stars 77 forks source link

Recognize new name of Graal-based Python as jitted #139

Closed timfel closed 2 years ago

timfel commented 2 years ago

sys.implementation.name was changed in recent Graal nightlies.

timfel commented 2 years ago

thank you!

vstinner commented 2 years ago

Defining if a Python implementation has a JIT or not became complicated. CPython 3.10 has an "opcode cache". CPython 3.11 now has "adaptative bytecode" which changes the bytecode after a few iterations.

It might help to implement a changepoint detection to decide if a benchmark looks steady or not.

My notes: https://vstinner.readthedocs.io/pypy_warmups.html