[Dev] Tizen 3.0 : Optimizing applications launch time
stephane.desneux at eurogiciel.fr
Fri Oct 18 18:16:40 GMT 2013
I'm currently investigating with Dominique Le Foll on some ways to
improve the application launch time (WRT, OSP or core apps).
Before thinking of checking preloaders and other mechanisms, I just sat
down and looked at the actual shared libs we can find in tizen/common
(x86_64) and IVI (i586).
First surprise: binaries and libs are *not* stripped.
I don't know the reason why we build and distribute unstripped binaries,
except easier debugging (but we have debug packages in the repos...).
Does anyone know ?
A quick test on IVI shows that stripping libwebkit2 reduces its size by
20% (38MB => 30MB).
So, I decided to strip everything in /usr/bin and /usr/lib64 on the
- /usr/bin: before 67MB after 58MB => gain=13%
- /usr/lib64: before 1.2GB after 407MB => * gain=75% * !!!!
=> the impact on the size is huge. For embedded systems with slow flash
drives, it'd be even more noticeable.
And now, some tests. First numbers on my new "stripped" image , second
numbers on the original one (not stripped):
- boot time: 15s vs. 16s (gain=6%)
- first WRT app launch (Annex): 3.5s vs 9.5s (* gain=63% *)
- WRT app launch (after first launch): <1s in both cases with any app
(this is normal behaviour: we have the WRT launchpad)
=> the gain on app launch is also impressive (this gain is not far from
the gain on the libs weight).
Conclusion: stripping the binaries has a great impact:
- smaller image size: faster to load from storage, faster to download
from tizen.org (and more bandwidth for everyone ;-))
- faster application launch, at least for WRT
Next week, I'll check more precisely why we gain 75% on the binary size:
perhaps a few libs are responsible for this... Or is this globally
distributed over all the binaries ?
Intel OTC - Vannes/FR
More information about the Dev