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