<div dir="ltr">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.<div><br></div><div>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.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 21, 2016 at 11:39 AM, serge guelton <span dir="ltr"><<a href="mailto:serge.guelton@telecom-bretagne.eu" target="_blank">serge.guelton@telecom-bretagne.eu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Sat, Nov 19, 2016 at 05:58:19PM -0800, Kevin Modzelewski wrote:<br>
> I think it's safe to not reinvent the wheel here.  Some searching gives:<br>
> <a href="http://perso.ensta-paristech.fr/~bmonsuez/Cours/B6-4/Articles/papers15.pdf" rel="noreferrer" target="_blank">http://perso.ensta-paristech.<wbr>fr/~bmonsuez/Cours/B6-4/<wbr>Articles/papers15.pdf</a><br>
> <a href="http://www.cs.utexas.edu/users/mckinley/papers/dcm-vee-2006.pdf" rel="noreferrer" target="_blank">http://www.cs.utexas.edu/<wbr>users/mckinley/papers/dcm-vee-<wbr>2006.pdf</a><br>
> <a href="https://github.com/facebook/hhvm/tree/master/hphp/tools/hfsort" rel="noreferrer" target="_blank">https://github.com/facebook/<wbr>hhvm/tree/master/hphp/tools/<wbr>hfsort</a><br>
<br>
</span>Thanks Kevin for the pointers! I'm new to this area of optimization...<br>
another source of fun and weirdness :-$<br>
<span class=""><br>
> Pyston takes a different approach where we pull the list of hot functions<br>
> from the PGO build, ie defer all the hard work to the C compiler.<br>
<br>
</span>You're talking about the build of Pyston itself, not the jit generated<br>
code, right? In that case, how is it different to a regular<br>
<br>
    -fprofile-generate followed by several runs then -fprofile-use?<br>
<br>
PGO builds should perform better than marking some functions as hot, as<br>
it also includes info for better branch prediction too, right?<br>
<br>
</blockquote></div><br></div>