[Dev] Tizen 3.0 : Optimizing applications launch time

Patrick Ohly patrick.ohly at intel.com
Tue Oct 22 12:52:00 GMT 2013


On Tue, 2013-10-22 at 10:01 +0000, YOUNG IK CHO wrote:
> > Stéphane said that it causes loading "the while library tree", which
> is
> > a bit misleading. The same set of libraries should be loaded with
> and
> > without it. The difference is that symbol resolution happens for
> > everything during loading when RTLD_NOW is used, while it gets
> deferred
> > for functions until they are actually used with RTLD_LAZY.
> > 
> > Symbol resolution can be expensive, so startup time might benefit
> from
> > not doing it immediately. Functions that never get called don't need
> to
> > be resolved at all.
> 
> 
> That's the reason why launchpad use RTLD_NOW instead of RTLD_LAZY.
> symbol loading is performed on the launchpad/wrt_launchpad startup.
> Launchpad or wrt_launchpad may be delayed due to symbol resolution but
> once symbols are resolved, child process of launchpad, all the apps,
> can benefit from pre-initialized shared library as long as it does not
> clear memory space by execve().

Agreed. I already came to the same conclusion.

So what do you think about my idea of delaying (not removing!) the
symbol resolution? Has that perhaps also been considered before? Of
course that only makes sense if there is some benefit for startup time.

-- 
Best Regards

Patrick Ohly
Senior Software Engineer

Intel GmbH
Open Source Technology Center               
Usenerstr. 5a                           Phone: +49-228-2493652
53129 Bonn
Germany



More information about the Dev mailing list