On 1/31/2013 6:39 AM, jmath...@mozilla.com wrote:
>> We then tried to get a sense of how much of a win the PGO optimizations 
>> are.  Thanks to a series of measurements by dmandelin, we know that 
>> disabling PGO/LTCG will result in a regression of about 10-20% on 
>> benchmarks which examine DOM and layout performance such as Dromaeo and 
>> guimark2 (and 40% in one case), but no significant regressions in the 
>> startup time, and gmail interactions.  Thanks to a series of telemetry 
>> measurements performed by Vladan on a Nightly build we did last week 
>> which had PGO/LTCG disabled, there are no telemetry probes which show a 
>> significant regression on builds without PGO/LTCG.  Vladan is going to 
>> try to get this data out of a Tp5 run tomorrow as well, but we don't 
>> have any evidence to believe that the results of that experiments will 
>> be any different.
>
> Are the test run stats we're using here published somewhere? We should be 
> tracking all this testing some place (a wiki page maybe?) so people can do 
> their own investigation.
>
> I've always wondered if the tests we run during the pgo phase are sufficient 
> to get good coverage over the entire app. Is it possible that we don't see 
> gains in other areas because our pgo tests don't hit those areas? (I think 
> there was an effort under way to expose these tests so they could be modified 
> in try runs for better experimentation.)
>
> Generally I would make disabling pgo the last option after exhausting all 
> other options.
>
As a historical note, when we first enabled PGO support for Windows our
profiling scenario was "start Firefox, wait 10 seconds, shut down
Firefox". Enabling PGO with this profiling run provided us with 20-25%
perf improvements in many of our benchmarks on Talos. We later changed
it to the current set of profiling data[1] (Blueprint CSS samples, the
SunSpider benchmark), and there was almost no visible change in the
Talos numbers. I'm sure for very specific benchmarks we could improve
perf by adding those things to the profiling run, but it's a very
delicate art. The optimizer has to balance code size against speed, and
it's not always obvious which way makes things better. (For example, we
historically built with -Os + a few extra optimize flags on Linux
instead of -O2 because producing smaller code generally made us faster
than optimizing everything for speed.)

-Ted

1. https://bugzilla.mozilla.org/show_bug.cgi?id=472706

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

Reply via email to