These Dromaeo improvements will in part be because IonMonkey is not fully 
JIT'ing these paths yet (a regression we're tracking from Firefox 17).

-David

On Thursday, October 11, 2012 11:26:49 AM UTC-7, Rafael Ávila de Espíndola 
wrote:
> On 10/11/2012 02:33 AM, Mike Hommey wrote:
> 
> > On Wed, Oct 10, 2012 at 05:57:53PM -0400, Justin Lebar wrote:
> 
> >> By "turning off Linux PGO testing", you really mean "stop making and
> 
> >> distributing Linux PGO builds," right?
> 
> >>
> 
> >> The main reason I'd want Linux PGO is for mobile.  On desktop Linux,
> 
> >> most users (I expect) don't run our builds, so it's not a big deal if
> 
> >> they're some percent slower.
> 
> >
> 
> > Many people have made claims about that at several different occasions.
> 
> > Can we once and for all come up with actual data on that?
> 
> >
> 
> > That being said, PGO on Linux is between 5 and 20% improvement on our
> 
> > various talos tests. That's with the version of gcc we currently use,
> 
> > which is 4.5. I'd expect 4.7 to do a better job even, especially if we
> 
> > added lto to the equation (and since we are now building on x86-64
> 
> > machines, we wouldn't have to worry about memory usage ; link time could
> 
> > be a problem, though).
> 
> >
> 
> > Also note that disabling PGO currently also means disabling the
> 
> > optimizations we do on omni.ja (central directory optimizations and
> 
> > reordering). This is somehow covered by bug 773171.
> 
> 
> 
> I wouldn't be surprised if most of the pgo benefit is because of bad 
> 
> inline decisions by gcc. If we can narrow the gap by adding 
> 
> MOZ_ALWAYS_INLINE, then maybe we can drop pgo.
> 
> 
> 
> I did a talos run during the last clang update to compare it with the 
> 
> previous version on OS X, but I now added linux runs to compare gcc 4.5 
> 
> and clang on linux. The results are interesting (see attached file). 
> 
> dromaeo_dom shows a 31% improvement on 64 bits for example.
> 
> 
> 
> This also suggests another option: using clang on linux too. This would 
> 
> have the added benefit of using the same compiler for OS X and Linux, 
> 
> which would remove most of the argument of developers spending time on 
> 
> linux only issues. I can do a comparison of gcc+pgo and clang if others 
> 
> are interested.
> 
> 
> 
> > Mike
> 
> 
> 
> Cheers,
> 
> Rafael
> 
> 
> 
> 
> 
> a11yr_paint
> 
> Fedora 12 - Constantine           | (527.681818182, 2.59651983057) -> 
> (413.15,       1.41403960494)  1.2772x better
> 
> Fedora 12 x64 - Constantine       | (451.454545455, 1.24422992408) -> 
> (349.45,       0.819984718342) 1.2919x better
> 
> 
> 
> dromaeo_css
> 
> Fedora 12 - Constantine           | (2152.09181818, 12.0144869607) -> 
> (2639.839,     8.95312637755)  1.2266x better
> 
> Fedora 12 x64 - Constantine       | (2485.29272727, 13.7659449067) -> 
> (2921.445,     17.8096790459)  1.1755x better
> 
> 
> 
> dromaeo_dom
> 
> Fedora 12 - Constantine           | (142.806181818, 0.744898237637) -> 
> (187.9765,     0.650195498534) 1.3163x better
> 
> Fedora 12 x64 - Constantine       | (181.576818182, 0.806482009967) -> 
> (232.0514,     1.34925457235)  1.2780x better
> 
> 
> 
> kraken
> 
> Fedora 12 - Constantine           | (3939.40909091, 71.9270328223) -> 
> (3767.41,      71.3917310166)  1.0457x better
> 
> Fedora 12 x64 - Constantine       | (3579.29090909, 15.596652341)  -> 
> (3446.56,      9.33275577468)  1.0385x better
> 
> 
> 
> num_ctors
> 
> CentOS (x86_64) release 5 (Final) | (232.0,        None)           -> (174.0, 
>        None)           1.3333x better
> 
> CentOS release 5 (Final)          | (232.0,        None)           -> (174.0, 
>        None)           1.3333x better
> 
> 
> 
> sunspider
> 
> Fedora 12 - Constantine           | (364.172727273, 1.5583412188)  -> 
> (345.08,       1.26271089553)  1.0553x better
> 
> Fedora 12 x64 - Constantine       | (334.363636364, 2.07058055282) -> 
> (321.97,       2.64172734312)  1.0385x better
> 
> 
> 
> tdhtmlr_nochrome_paint
> 
> Fedora 12 - Constantine           | (417.558727273, 0.728348424302) -> 
> (392.9735,     0.424360042529) 1.0626x better
> 
> Fedora 12 x64 - Constantine       | (390.3705,     0.633414181048) -> 
> (359.1264,     6.1131889195)   1.0870x better
> 
> 
> 
> tdhtmlr_paint
> 
> Fedora 12 - Constantine           | (433.884909091, 4.67646883558) -> 
> (402.9236,     4.62643754814)  1.0768x better
> 
> Fedora 12 x64 - Constantine       | (398.0735,     3.51583823606)  -> 
> (368.2883,     1.94210482286)  1.0809x better
> 
> 
> 
> tp5n_main_rss_paint
> 
> Fedora 12 - Constantine           | (114134400.0,  271577.523722)  -> 
> (115129700.0,  280881.107982)  1.0087x worse
> 
> Fedora 12 x64 - Constantine       | (149395900.0,  563431.271779)  -> 
> (148169900.0,  430915.422528)  1.0083x better
> 
> 
> 
> tp5n_paint
> 
> Fedora 12 - Constantine           | (377.5355,     2.28065749844)  -> 
> (316.3663,     2.72038848381)  1.1933x better
> 
> Fedora 12 x64 - Constantine       | (325.3768,     3.31696113133)  -> 
> (278.6602,     3.33314780988)  1.1676x better
> 
> 
> 
> tp5n_xres_paint
> 
> Fedora 12 - Constantine           | (7249195.0,    114562.779547)  -> 
> (7640897.0,    218688.473551)  1.0540x worse
> 
> 
> 
> tpaint
> 
> Fedora 12 - Constantine           | (214.727272727, 2.47305127989) -> (187.4, 
>        7.74235973322)  1.1458x better
> 
> Fedora 12 x64 - Constantine       | (203.545454545, 3.0539930444)  -> (173.2, 
>        4.81738641223)  1.1752x better
> 
> 
> 
> tresize
> 
> Fedora 12 - Constantine           | (13.0813363636, 0.276579872514) -> 
> (11.8753,      0.318387813206) 1.1016x better
> 
> Fedora 12 x64 - Constantine       | (12.0,         0.0)            -> (11.0,  
>        0.0)            1.0909x better
> 
> 
> 
> ts_paint
> 
> Fedora 12 - Constantine           | (706.287090909, 3.15497376791) -> 
> (641.8735,     3.61716922776)  1.1004x better
> 
> Fedora 12 x64 - Constantine       | (656.445,      1.80961735305)  -> 
> (602.1632,     3.31640631973)  1.0901x better
> 
> 
> 
> tscrollr_paint
> 
> Fedora 12 x64 - Constantine       | (16857.3727273, 4.77056976419) -> 
> (16833.32,     2.39441325698)  1.0014x better
> 
> 
> 
> tspaint_places_generated_max
> 
> Fedora 12 - Constantine           | (707.2684,     2.72687947138)  -> 
> (641.3894,     3.16920410573)  1.1027x better
> 
> Fedora 12 x64 - Constantine       | (658.7789,     4.1605723528)   -> 
> (604.4052,     1.60219463203)  1.0900x better
> 
> 
> 
> tspaint_places_generated_med
> 
> Fedora 12 - Constantine           | (700.1843,     4.30450967551)  -> 
> (637.8155,     4.1260230609)   1.0978x better
> 
> Fedora 12 x64 - Constantine       | (657.1211,     4.50905085597)  -> 
> (603.0895,     2.4221657736)   1.0896x better
> 
> 
> 
> tsvgr_opacity
> 
> Fedora 12 - Constantine           | (100.727272727, 1.10814017075) -> (86.2,  
>        0.650233384763) 1.1685x better
> 
> Fedora 12 x64 - Constantine       | (81.45,        0.744935926267) -> (70.9,  
>        0.758605615557) 1.1488x better

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

Reply via email to