[meta] JS Perf Experiments - Ion Compile Latency
Categories
(Core :: JavaScript Engine, task, P1)
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.
Reporter | ||
Updated•1 year ago
|
Comment 1•1 year ago
|
||
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.
Comment 2•1 year ago
|
||
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.
Reporter | ||
Updated•1 year ago
|
Comment 3•1 year ago
|
||
This is the area we/I believe are relevant to speedometer and worth a narrow focus on, setting priority to P1
Comment 4•1 year ago
|
||
Possibly-relevant: bug 1814599.
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Assignee | ||
Updated•1 year ago
|
Description
•