Martin v. Löwis wrote:
> Am 10.06.14 18:30, schrieb Steve Dower:
>> I ran a quick test with profile-guided optimization (PGO, pronounced
>> "pogo"), which has supposedly been improved since VC9, and saw a very
>> unscientific 20% speed improvement on pybench.py and 10% size
>> reduction in python35.dll. I'm not sure what we used to get from VC9,
>> but it certainly seems worth enabling provided it doesn't break
>> anything. (Interestingly, PGO decided that only 1% of functions needed
>> to be compiled for speed. Not sure if I can find out which ones those
>> are but if anyone's interested I can give it a shot?)
> 
> You probably ran too little Python code. See PCbuild/build_pgo.bat for what 
> used
> to be part of the release process. It takes quite some time, but it rebuilt 
> more
> than 1% (IIRC).

That's almost certainly the case. I didn't run anywhere near enough to call it 
good, though I'd only really expect the size to get worse and the speed to get 
better.

> FWIW, I stopped using PGO for the official releases when it was demonstrated 
> to
> generate bad code. In my experience, a compiler that generates bad code has 
> lost
> trust "forever", so it will be hard to justify re-enabling PGO (like "but it
> really works this time"). I wasn't sad when I found a justification to skip 
> the
> profiling, since it significantly held up the release process.

Yeah, and it seems the bad code is still there. I suspect it's actually due to 
optimizing for space rather than speed, and not due to PGO directly, but either 
way I'll be trying to get it fixed.

[EARLIER EMAIL]
> By "keep around", I'd be fine with "in a subdirectory of PC". PCbuild should
> either switch for sure, or not switch at all. People had proposed to come up
> with a "PCbuildN" directory (N=10, N=14, or whatever) to maintain two build
> environments simultaneously; I'd be -1 on such a plan. There needs to be one
> official toolset to build Python X.Y with, and it needs to be either VS 2010 
> or
> VS 2014, but not both.

That's what I have planned. Right now it's in my sandbox and I've just replaced 
the existing PCbuild contents (rather wholesale - I took the opportunity to 
simplify the files, which is important to me as I spend most of my time editing 
them by hand rather than through VS). When/if I merge, the version in PC\VS10.0 
will be exactly what was there at merge time.

> Regards,
> Martin

And thanks, I appreciate the context and suggestions.

Cheers,
Steve
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to