Closed
Bug 674579
Opened 13 years ago
Closed 7 years ago
Mobile: consider manually separating hot startup libxul from the rest
Categories
(Developer Infrastructure :: Source Code Analysis, defect)
Developer Infrastructure
Source Code Analysis
Tracking
(Not tracked)
RESOLVED
INVALID
People
(Reporter: stechz, Unassigned)
References
Details
(Whiteboard: mobilestartupshrink)
To reduce the number of I/O accesses during startup before XRE_main, we could separate the code needed for startup from the rest of libxul.so. Taras estimates that we use about 20% of our binary code during startup, so this could cut reading and relocating down to a fraction of its current time.
Perhaps we could even speculatively load the other library after startup in a background thread?
PGO has the potential to do this work as well, but on Android we would probably need a custom version of GCC to move forward this way. To me this looks like a lot of work.
Reporter | ||
Updated•13 years ago
|
Whiteboard: mobilestartupshrink
Comment 1•13 years ago
|
||
(In reply to comment #0)
> PGO has the potential to do this work as well, but on Android we would
> probably need a custom version of GCC to move forward this way. To me this
> looks like a lot of work.
It really isn't. It's a few months of work.
Comment 2•13 years ago
|
||
(In reply to comment #0)
> Taras estimates that we use about 20% of our binary code during startup.
That's really more like 50%, IMO. And there are things that are hard to separate from each other.
Things I noted on the etherpad that could probably be separated out, with binary sizes:
- media libraries (vpx = 116k, ogg = 6k, nestegg = 12k, tremor = 67k, theora = 38k, sydneyaudio = 4k ; overall might not be worth the bother)
- svg (870k for libgkcontentsvg_s)
- webgl (buried in gfx, not sure it's big, but angle is 214k)
- uconv (714k, but we don't need all the converters until much later)
- necko (1M, that seems like a whole lot)
- (...)
Comment 3•13 years ago
|
||
we need necko for startup.
Comment 4•13 years ago
|
||
(In reply to comment #3)
> we need necko for startup.
we certainly don't need most of it.
Comment 5•13 years ago
|
||
Is this bug covered by bug 632954 (PGO for android)?
Comment 6•13 years ago
|
||
(In reply to Alon Zakai (:azakai) from comment #5)
> Is this bug covered by bug 632954 (PGO for android)?
It is not. In theory bug 686805 will make make this bug redundant
Updated•7 years ago
|
Product: Core → Firefox Build System
Updated•7 years ago
|
Status: NEW → RESOLVED
Closed: 7 years ago
Flags: needinfo?(nika)
Resolution: --- → INVALID
Updated•7 years ago
|
Flags: needinfo?(nika)
Updated•2 years ago
|
Product: Firefox Build System → Developer Infrastructure
You need to log in
before you can comment on or make changes to this bug.
Description
•