> 
> > With my tests, AutoFDO could achieve almost half of the effect of
> > instrumentation FDO on real applications such as MySQL 8.0.20 .
> 
> Likely this could be improved with some of the missing changes. Apparently
> discriminator support is worth quite a bit especially on dense C++ code
> bases. Without that, gcc autofdo only works on line numbers, which can be
> very limiting if single lines have a lot of basic blocks.
> 
> Sadly discriminator support is currently only on the old Google branch and
> not in gcc mainline
> 
> Longer term it would probably be best to replace all this with some custom
> specialized binary annotation instead of stretching DWARF beyond its limits.

I think it makes sense to pick the AutoFDO to the lists of things that
would be nice to fix in GCC12.  I guess first we need to solve the
issues with the tool producing autofdo gcda files and once that works
setup some benchmarking so we know how things compare to FDO and they
get tested.

If you point me to the discriminator patches I can try to figure out how
hard would be to mainline them.  I am not too sure about custom
annotations though - storing info about regions of code segment is
always a pain and it is quite nice that dwarf provides support for that.
But I guess we could go step by step.  I first need a working setup ;)

Honza
> 
> -Andi
> 

Reply via email to