FDO and LTO (optimizations)

David Malcolm dmalcolm at redhat.com
Mon Dec 23 15:40:33 UTC 2013


On Fri, 2013-12-20 at 14:10 -0500, Neal Becker wrote:
> I was reading some of the discussion of feedback directed optimization and link 
> time optimization for python here:
> 
> http://permalink.gmane.org/gmane.comp.python.devel/143941
> 
> I'm wondering if Fedora should be enabling some of these optimizations?

We discussed doing this a while back for CPython in Fedora; it's
probably worthwhile, but AFAIK no-one's gotten around to it.

I filed a couple of bugs to track this:
  Python 2:
    https://bugzilla.redhat.com/show_bug.cgi?id=613045

  Python 3:
    https://bugzilla.redhat.com/show_bug.cgi?id=613046

so if someone wants to try to implement this, that would be great.  IIRC
the upstream makefile already has a pre-canned way to do at least the
PGO of this - but we'd need to set things up so that there's a
"training" run to generate the profile data for the PGO build.  I'd
recommend using the upstream Python benchmarking suite:

  http://hg.python.org/benchmarks

since it contains examples of real, idiomatic code, rather than made-up
benchmarks, and hence is likely to be good "training" for the PGO.
IIRC Debian's builds already do something like this.

[FWIW, note that LTO has seen some big improvements in gcc upstream,
which should land within the upcoming 4.9]


Hope this is helpful
Dave



More information about the devel mailing list