Hello,
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
tizen/common image:
- /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 ?
Best regards,
--
Stéphane Desneux
Intel OTC - Vannes/FR
_______________________________________________
Dev mailing list
[email protected]
https://lists.tizen.org/listinfo/dev