Re: [Speed] Analysis of a Python performance issue

On Mon, Nov 21, 2016 at 03:26:19PM -0800, Kevin Modzelewski wrote:
Oh sorry I was unclear, yes this is for the pyston binary itself, and yes PGO does a better job and I definitely think it should be used.
That raised a second question: do you collect branch / hotness info during lower tier jitted code run, so as to improve performance of higher tiers ?
Separately, we often use non-pgo builds for quick checks, so we also have the system I described that makes our non-pgo build more reliable by using the function ordering from the pgo build.
ok. Are you just « putting hot stuff in the hot section » or did you try to specify an ordering to further improve locality? (I don't know if it's possible, it's mentionned in one of the paper)
Thanks,
Serge

On Thu, Nov 24, 2016 at 3:07 AM, serge guelton sguelton@quarkslab.com wrote:
On Mon, Nov 21, 2016 at 03:26:19PM -0800, Kevin Modzelewski wrote:
Oh sorry I was unclear, yes this is for the pyston binary itself, and yes PGO does a better job and I definitely think it should be used.
That raised a second question: do you collect branch / hotness info during lower tier jitted code run, so as to improve performance of higher tiers ?
We don't (yet) do code placement optimizations. We should be getting some basic amount of this, though, by our generated code being grouped by "tier that compiled it" which is highly correlated with hotness.
Separately, we often use non-pgo builds for quick checks, so we also have the system I described that makes our non-pgo build more reliable by
using
the function ordering from the pgo build.
ok. Are you just « putting hot stuff in the hot section » or did you try to specify an ordering to further improve locality? (I don't know if it's possible, it's mentionned in one of the paper)
We pull the function order from the PGO build and ask the non-pgo build to use the same order, so it's up to whatever the C compiler did. Though to keep things tractable we only do this for functions that have some non-negligible hotness.
I think this does help with overall performance of the non-pgo build, but our main goal was performance consistency.
Thanks,
Serge
participants (2)
-
Kevin Modzelewski
-
serge guelton