[Python-Dev] Possible performance regression

Raymond Hettinger raymond.hettinger at gmail.com
Tue Feb 26 16:38:45 EST 2019

On Feb 25, 2019, at 8:23 PM, Eric Snow <ericsnowcurrently at gmail.com> wrote:
> So it looks like commit ef4ac967 is not responsible for a performance
> regression.

I did narrow it down to that commit and I can consistently reproduce the timing differences.

That said, I'm only observing the effect when building with the Mac default Clang (Apple LLVM version 10.0.0 (clang-1000.11.45.5).   When building GCC 8.3.0, there is no change in performance.

I conclude this is only an issue for Mac builds.

> I ran the "performance" suite (https://github.com/python/performance),
> which has 57 different benchmarks. 

Many of those benchmarks don't measure eval-loop performance.  Instead, they exercise json, pickle, sqlite etc.  So, I would expect no change in many of those because they weren't touched.

Victor said he generally doesn't care about 5% regressions.  That makes sense for odd corners of Python.  The reason I was concerned about this one is that it hits the eval-loop and seems to effect every single op code.  The regression applies somewhat broadly (increasing the cost of reading and writing local variables by about 20%).  The effect is somewhat broad based.

That said, it seems to be compiler specific and only affects the Mac builds, so maybe we can decide that we don't care.


More information about the Python-Dev mailing list