Closed Bug 1826458 Opened 2 years ago Closed 2 years ago

Consider using different warmup thresholds during pageload

Categories

(Core :: JavaScript Engine: JIT, task, P1)

task

Tracking

()

RESOLVED WONTFIX

People

(Reporter: iain, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [sp3])

Attachments

(1 file)

Triggering baseline compilations more eagerly is good for Speedometer, but bad for pageload. We added a setPerformanceHint API in bug 1609956 to tweak GC during pageload; we could try extending that to also cover different warmup thresholds during pageload, and decrease the warmup thresholds for non-pageload code.

This is a rough prototype. It sets the baseline/Ion thresholds to 100/1500 during pageload and 50/1000 otherwise. There are shell and browser options for tweaking each of the thresholds (--(baseline|ion)-warmup-threshold/--pageload-(baseline|ion)-warmup-threshold, (baseline|ion).warmup.trigger/(baseline|ion).pageload.warmup.trigger). They might even work.

Whiteboard: [sp3]

Preliminary performance results on this weren't particularly promising. smaug ran a couple try runs with 10/1000 and 25/1500. Some speedometer benchmarks improved, but the overall effect was neutral/negative (especially the TipTap/CodeMirror benchmarks).

The overall takeaway is that judicious use of eager baseline compilation is a good idea, but more targeted approaches like bug 1824772 are a better way to do it.

Status: NEW → RESOLVED
Closed: 2 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: