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)

defect
Not set
normal

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.
Whiteboard: mobilestartupshrink
(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.
(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) - (...)
we need necko for startup.
(In reply to comment #3) > we need necko for startup. we certainly don't need most of it.
Is this bug covered by bug 632954 (PGO for android)?
(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
Ok, thanks for the info.
Depends on: 686805
Product: Core → Firefox Build System
Status: NEW → RESOLVED
Closed: 7 years ago
Flags: needinfo?(nika)
Resolution: --- → INVALID
Flags: needinfo?(nika)
Product: Firefox Build System → Developer Infrastructure
You need to log in before you can comment on or make changes to this bug.