Open
Bug 1429953
Opened 7 years ago
Updated 2 years ago
Baldr: tier 1 compile time 4x worse while tier 2 in progress on mobile
Categories
(Core :: JavaScript: WebAssembly, enhancement, P3)
Core
JavaScript: WebAssembly
Tracking
()
NEW
Tracking | Status | |
---|---|---|
firefox60 | --- | fix-optional |
People
(Reporter: luke, Unassigned)
References
(Blocks 3 open bugs)
Details
STR:
1. load http://lukewagner.github.io/test-tanks-compile-time
2. see awesome compile speed (I see 8mb/s)
3. reload within 20s
4. see meh compile speed (I see 1.7mb/s)
I was testing on a midrange 4-core phone.
I think our tier 1/2 prioritization scheme is giving fewer cores to the tier1 than it should?
Reporter | ||
Updated•7 years ago
|
Summary: Baldr: tier 1 compile time 4x worse while tier 2 in progress → Baldr: tier 1 compile time 4x worse while tier 2 in progress on mobile
Comment 1•7 years ago
|
||
Yeah, pile it on - the scheduler needs a real sense of priority :)
This could be a consequence of prioritizing pending tier2 tasks when the tier2 task list is very long, so if the tier2 tasks from the first load linger (why should they? they should be canceled) then they could be blocking new tier1 work.
I'll devote some time to this next week if you don't beat me to it.
Reporter | ||
Comment 2•7 years ago
|
||
(In reply to Lars T Hansen [:lth] from comment #1)
> (why should they? they should be canceled)
I think the only thing that causes cancellation is the JSRuntime being torn down and navigating or reloading a page don't destroy any JSRuntimes. I expect in a reload situation we soon GC the now-inaccessible pages' Module object, so if we had ~Module cancel its tier-2 task (it doesn't currently), that would help. However, when navigating (not reloading), the browser's "BF Cache" keeps the previous page alive in memory (so if you click Back, it's real fast).
So I think while something along the lines of cancelation could help, prioritization seems important.
I wonder if we could, via embedding hooks, imbue a tier-2 task knowledge of whether it was for a foreground tab or not. But maybe there's just a simple static scheduling fix.
> I'll devote some time to this next week if you don't beat me to it.
Thanks. I don't think it's a huge problem, but I thought it was worth looking at in case there was an easy fix. (To wit, our "meh" compile speed is still factors better than other browsers that don't have baselines.)
Updated•7 years ago
|
status-firefox60:
--- → fix-optional
Priority: -- → P2
Updated•5 years ago
|
Component: JavaScript Engine → Javascript: WebAssembly
Updated•5 years ago
|
Updated•5 years ago
|
Type: defect → enhancement
Updated•5 years ago
|
Priority: P2 → P3
Comment 3•4 years ago
|
||
We'll need to use the real scheduler and set tier 2 priority lower.
Depends on: 1559660
Updated•3 years ago
|
Blocks: wasm-large-web-properties
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•