Closed Bug 1156798 Opened 10 years ago Closed 10 years ago

MSVC PGO is slowing us down again

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: jandem, Assigned: jandem)

Details

Attachments

(3 files)

Last year I noticed MSVC 2010 with PGO was slowing us down on some workloads like asm.js compilation, see bug 1030706, and we ended up disabling MSVC 2010 PGO for js/src. About 6 months ago, we switched to Visual Studio 2013 and re-enabled PGO for js/src. VS 2013's PGO seemed less buggy and more predictable. Back then, I also tried to add more benchmarks (Octane and Kraken) to the PGO profile (bug 1096280), but that didn't help much and introduced some minor regressions/noise, so I backed it out again. Today Hannes fixed the PGO build on AWFY and it turns out PGO is helping us a bit on Sunspider but nowadays it's slowing us down on Octane and Kraken, see http://arewefastyet.com/#machine=17 and especially Octane-raytrace is *much* slower: http://arewefastyet.com/#machine=17&view=single&suite=octane&subtest=RayTrace Also, a few weeks ago Nicolas ran into an Aurora-only Windows PGO bug (bug 1149377) that took a lot of time to track down. So, based on all this, I think it's reasonable to disable PGO in js/src again and see how it affects the benchmarks.
Try push disabling PGO in js/src, so we can do some measurements: https://treeherder.mozilla.org/#/jobs?repo=try&revision=45a7ac5299bf
Best way to compare is to compare with the numbers at: http://arewefastyet.com/overview/#/machine/17
Attached patch PatchSplinter Review
The results Hannes attached show this is a win on most benchmarks.
Attachment #8596079 - Flags: review?(jorendorff)
Attachment #8596079 - Flags: review?(jorendorff) → review+
I just saw that the numbers AWFY is reporting for PGO are actually incorrect. We have some extra debug checks that we disable using "JSGC_DISABLE_POISONING=1". But that env. variable isn't set for the PGO line. So I'll enable that now. After we get new numbers we should look again how those numbers compare with the numbers I posted here (which are with those check disabled). (So please wait with landing this!)
(In reply to Hannes Verschore [:h4writer] from comment #6) > We have some extra debug checks that we disable using > "JSGC_DISABLE_POISONING=1". But that env. variable isn't set for the PGO > line. So I'll enable that now. Also, my patch to disable PGO in moz.build no longer works since bug 1084162. I'll just close this for now.
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: