Investigate how to flush StartupCache for mobile app-link performance test
Categories
(Core :: Performance Engineering, task)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox150 | --- | fixed |
People
(Reporter: tcampbell, Assigned: mstange)
References
(Blocks 1 open bug)
Details
(Whiteboard: [fxpe])
Attachments
(1 file)
|
48 bytes,
text/x-phabricator-request
|
Details |
As part of Bug 1618391, we noticed that the gecko "StartupCache" typically doesn't flush until about 1-2min after browser starts. For the purpose of testing, Bug 1631991 added a shorter timeout for GTest configurations though that doesn't apply to our applink startup perf test.
We should consider if waiting a full minute to get a startupcache flush is still the right move, especially on Android where user behaviour can be frenetic. A potential thing to consider is being more aggressive with flush if the cache doesn't exist at all yet. With the ScriptPreloader we added a flush to browser startup idle and there haven't been complaints about that extra I/O, so having startup cache flush at same time seems reasonable.
| Reporter | ||
Comment 1•1 year ago
|
||
On desktop, we use the shutdown event to help handle cases were we close before the standard timer, but that doesn't apply as much to Android where we don't have such clean shutdowns.
Additionally, the ScriptPreloader flushing at the end of each startup is probably too aggressive and we need a different schedule for that on mobile.
| Assignee | ||
Updated•1 year ago
|
Updated•1 year ago
|
Updated•8 months ago
|
Comment 2•8 months ago
|
||
The current delay is set to 60s:
static uint8_t STARTUP_CACHE_WRITE_TIMEOUT = 60;
We should investigate flushing this cache at an earlier time as long as it doesn't interfere with the startup path too much.
| Assignee | ||
Comment 5•3 months ago
|
||
(In reply to Jonathan Almeida [:jonalmeida] from comment #4)
Triage: Possible duplicate.
Not a duplicate - ScriptPreloader and StartupCache are two distinct mechanisms.
Updated•3 months ago
|
Updated•3 months ago
|
| Assignee | ||
Comment 6•3 months ago
|
||
I'll look into this. I think we can just add an "early write" if no cache file exists.
| Assignee | ||
Comment 7•3 months ago
|
||
This will make Firefox behavior in our performance CI tests more realistic:
These tests perform a warmup run which is killed before the regular
StartupCache write occurs. We don't really want to increase the time for
the warmup run, and I believe the behavior introduced in this patch makes
sense regardless - if there's no cache, writing out an incomplete cache
is better than waiting for more complete data and failing to write it out.
Updated•2 months ago
|
| Assignee | ||
Comment 8•2 months ago
|
||
Comment 10•2 months ago
|
||
| bugherder | ||
Updated•1 month ago
|
Description
•