Firefox OS/Performance/Boot Sequence Optimization: Difference between revisions
< Firefox OS | Performance
Jump to navigation
Jump to search
m (AlisonW moved page B2G/Performance/Boot Sequence Optimization to FirefoxOS/Performance/Boot Sequence Optimization: per Bug 994464) |
No edit summary |
||
Line 22: | Line 22: | ||
*** Cache the list in the frozen memory image? | *** Cache the list in the frozen memory image? | ||
*** Speed up mgmt.getAll() | *** Speed up mgmt.getAll() | ||
==References== | |||
[[https://developer.mozilla.org/en-US/Firefox_OS/Platform/Architecture#Firefox_OS_bootup_procedure]] |
Revision as of 19:32, 6 May 2014
Initial Ideas
- Minimize data loaded by boot loader.
- Compacting vmlinuz/zImage by moving compiled-in drivers to modules.
- Minimize initial ramdisk if there is one.
- Minimize kernel cruft by excluding all unneeded drivers.
- Strip the kernel and all modules.
- Minimize init launch sequence.
- Make init only launch the bare minimum for b2g process to launch.
- Ideally, init will only launch b2g.
- B2G start-up sequence.
- Remove all synchronous external dependencies from B2G start-up sequence.
- Kernel modules must be lazy loaded as needed.
- Any sync waits on daemons must become async. Start-up b2g pieces as daemons finish launching.
- Minimize start-up initializations.
- Global statics need to be minimized as their constructors are run before main().
- Global singletons must be initialized as needed.
- Remove all synchronous external dependencies from B2G start-up sequence.
- Homescreen start-up.
- Minimize _init() code to bare minimum.
- Maybe freeze the homescreen app into a memory image that can be loaded and unfrozen instead of launching the app every time.
- Eliminate dependency on enumerating installed apps on launch.
- Cache the list in local storage?
- Cache the list in the frozen memory image?
- Speed up mgmt.getAll()
References
[[1]]