This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author kj
Recipients Mark.Shannon, kj, malin, neonene, paul.moore, rhettinger, steve.dower, tim.golden, vstinner, zach.ware
Date 2021-09-17.09:58:33
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
Thanks for the truly excellent investigation!

@Raymond and @Steve,
If I understood OP (neonene) properly, changing Py_DECREF to a macro won't get back the entire 7% lost performance in pyperformance. neonene's investigations suggest that the entire eval function is now too big for PGO on MSVC. Fixing Py_DECREF may get us a few %, but all the other hot functions in eval are likely not being inlined as well. Their suggested patch in works, but IMO, _may_ slow down DISPATCH() _slightly_ since it seems to introduce another jump.

I suggest using their patch only for MSVC until we think of something better in 3.11. The additional jump may not matter after PGO (and it surely isn't a 7% slowdown :). WDYT?
Date User Action Args
2021-09-17 09:58:33kjsetrecipients: + kj, rhettinger, paul.moore, vstinner, tim.golden, Mark.Shannon, zach.ware, steve.dower, malin, neonene
2021-09-17 09:58:33kjsetmessageid: <>
2021-09-17 09:58:33kjlinkissue45116 messages
2021-09-17 09:58:33kjcreate