Open Bug 1812157 Opened 1 year ago Updated 8 months ago

[meta] JS Perf Experiments - Ion Compile Latency

Categories

(Core :: JavaScript Engine, task, P1)

task

Tracking

()

People

(Reporter: tcampbell, Assigned: jlink)

References

(Depends on 2 open bugs, Blocks 2 open bugs)

Details

(Keywords: meta)

The latency of Ion compiles can lead to slowdowns in Speedometer. Since this is off-thread, we haven't given it as much of a close look in recent years. It is also something that isn't very visible in profiles.

We should understand more what the impact of this is, where our current performance stands, and if we expect wins on speedometer.

Summary: [meta] JS Perf Experiments - Immutable Objects → [meta] JS Perf Experiments - Ion Compile Latency

Quick notes on some recent experimentation:

I just turned off clang optimizations in Ion.cpp, ValueNumbering.cpp, AliasAnalysis.cpp, ScalarReplacement.cpp, and LICM.cpp as a very crude and incomplete approximation of Ion itself being slower to produce an optimized putput, and what I saw was a 4% regression in Speedometer 2. We can't draw too much concrete from this other than that Speedometer is in fact sensitive to the speed of Ion compilation, and that we should do some more investigation here.

Depends on: 1812161
Blocks: 1490849

Dug up some brief notes from a couple years ago, where I measured how many IonCompile tasks were running when we queued a new one while browsing around on the web:

   5639 total compilations
   208 with non-empty queue
   7 with 2 items already in queue
   none with 3 items already in queue

I think that this was measuring all running IonCompile tasks, not just tasks blocked waiting for a thread, but somebody should run the experiment again to validate my numbers before relying on them too much.

Whiteboard: [sp3:p1]

This is the area we/I believe are relevant to speedometer and worth a narrow focus on, setting priority to P1

Severity: -- → N/A
Priority: -- → P1

Possibly-relevant: bug 1814599.

Whiteboard: [sp3:p1] → [sp3-p1]
Assignee: nobody → jlink
Depends on: 1847616
You need to log in before you can comment on or make changes to this bug.