Ehsan Akhgari wrote:
> On 2013-02-04 11:44 AM, Ehsan Akhgari wrote:
> >     3. What is the performance difference between Visual Studio
> >     2012 PGO builds and Visual Studio 2010 builds? IMO, before
> >     we decide whether to disable PGO on Windows, we need to get
> >     good benchmark results for Visual Studio **2012** PGO builds,
> >     to make sure we're not throwing away wins that could come
> >     "just" solving this problem in a different way + upgrading
> >     the compiler.
> >
> >
> > That's something that we should probably measure as well.  Filed
> > bug 837724 for that.
> 
> Note that I misread this and thought you're talking about VS2010 PGO
> builds versus VS2012 non-PGO builds, and that's what bug 837724 is
> about.  As I've already said in this thread, VS2012 uses more memory
> for PGO compilations than VS2010, so upgrading to that for PGO builds
> is out of the question.

That seems to be assuming that there is nothing reasonable we can do to make 
VS2012 PGO builds work. However, in order to know what is a reasonable amount 
of effort, you have to know what the benefits would be. For example, let's say 
we lived in a magical alternate universe where VS2012 PGO builds cut Firefox's 
memory usage by 50% and made everything twice as fast compared to VS2010 PGO 
builds. Then, we would consider even man-years of effort to be reasonable. On 
the other hand, if Firefox were twice as slow when built with VS2012 PGO 
builds, then no amount of effort would be reasonable. So, you have to know the 
performance difference between VS2012 PGO builds and VS2010 PGO builds before 
we can reject the possibility of VS2012 PGO.

Also, I want to echo khuey's comment: It seems like a lot of the argument 
against PGO is that, while our benchmarks are faster, users won't actually 
notice any difference. If that is true, then I agree with khuey that that is a 
massive systemic failure; we shouldn't be guiding development based on 
benchmarks that don't correlate positively with user-visible improvement. If 
all of our benchmarks showing the benefits of PGO are useless and there really 
isn't any difference between PGO and non-PGO builds, then I'm not going to push 
for us to continue doing PGO builds any more. But, in that case I hope we also 
come up with a plan for making better benchmarks.

And, also, if PGO doesn't have a significant positive performance difference, I 
would be very curious as to why not. Is PGO snake oil in general? Is there 
something about our codebase that is counter-productive to PGO? And, if the 
latter, then is there anything we can do to undo that counter-productivity?

Cheers,
Brian
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to