[Python-Dev] Profile Guided Optimization active by-default
brett at python.org
Tue Aug 25 18:17:50 CEST 2015
On Tue, 25 Aug 2015 at 09:10 R. David Murray <rdmurray at bitdance.com> wrote:
> On Tue, 25 Aug 2015 15:59:23 -0000, Brett Cannon <brett at python.org> wrote:
> > On Mon, 24 Aug 2015 at 23:19 Nick Coghlan <ncoghlan at gmail.com> wrote:
> > > On 25 August 2015 at 05:52, Gregory P. Smith <greg at krypto.org> wrote:
> > > > What we tested and decided to use on our own builds after
> benchmarking at
> > > > work was to build with:
> > > >
> > > > make profile-opt PROFILE_TASK="-m test.regrtest -w -uall,-audio -x
> > > test_gdb
> > > > test_multiprocessing"
> > > >
> > > > In general if a test is unreliable or takes an extremely long time,
> > > exclude
> > > > it for your sanity. (i'd also kick out test_subprocess on 2.7; we
> > > replaced
> > > > subprocess with subprocess32 in our build so that wasn't an issue)
> > >
> > > Having the "production ready" make target be "make profile-opt"
> > > doesn't strike me as the most intuitive thing in the world.
> > >
> > > I agree we want the "./configure && make" sequence to be oriented
> > > towards local development builds rather than highly optimised
> > > production ones, so perhaps we could provide a "make production"
> > > target that enables PGO with an appropriate training set from
> > > regrtest, and also complains if "--with-pydebug" is configured?
> > >
> > That's an interesting idea for a make target. It might help get the
> > visibility of PGO builds higher as well.
> If we did want to make PGO the default, having a 'make develop' target
> would also be an option. We already have a precedent for that in the
> 'setup.py develop' command.
With a `make develop` target we also can make sure not only that
--with-pydebug is used but that the installation target is /tmp so that new
contributors don't accidentally install a debug build.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-Dev