Profiling CPython with "perf"

In my experience, the line-by-line annotation isn’t reliable in “perf”. It may depend on your processor. I have a AMD Ryzen CPU.

If you want to check whether the DISPATCH change is responsible for some slowdown, the easiest way is to undo it, i.e. manually hoist the &tstate->interp->ceval.eval_breaker in a local variable at the beginning of _PyEval_EvalFrameDefault (since this is a pointer value that won’t change).