Open Bug 977658 Opened 7 years ago Updated 6 years ago

Windows PGO builds much slower than non-PGO builds on "cold" code


(Core :: JavaScript Engine, defect)

Not set




(Reporter: jandem, Unassigned)



(Keywords: perf, Whiteboard: [js:p2])


(1 file)

Attached file Testcase
I'm attaching a simple micro-benchmark that repeatedly calls the |set| method on typed arrays.

This testcase is 2x faster with a non-PGO build. Apparently the compiler deoptimizes (stops inlining trivial functions etc) code that's not exercised during the profile run, and because the profile run is based on SS + a handful of other scripts, this probably affects a lot of code.

I wonder if this also makes DOM benchmarks slower.
> I wonder if this also makes DOM benchmarks slower.

Chances are, no, since starting the browser exercises a bunch of DOM stuff, from the browser UI itself...
Keywords: perf
Whiteboard: [js:p2]
FWIW I did some tests a few weeks ago on the difference between PGO and non-PGO on the major benchmarks with Ion disabled (BC enabled) and found that while SS gets a fairly significant speedup (I think it was around 5%), Kraken and Octane are essentially unaffected. Of course BC is less important for these in practice (with Ion enabled), but there might still be some value in running those during the profile run as well.
Depends on: 1030706
You need to log in before you can comment on or make changes to this bug.