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