This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: application start up and library load performance
- From: Corey Minyard <minyard at acm dot org>
- To: Robert Schweikert <rjschwei at cox dot net>
- Cc: libc-alpha at sources dot redhat dot com
- Date: Thu, 13 Feb 2003 09:50:31 -0600
- Subject: Re: application start up and library load performance
- References: <1045132965.18181.357.camel@triumph.rjsdomain>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Are you using RTLD_LAZY or RTLD_NOW with the dlopen call? The
differences are not huge, and using RTLD_NOW would cause some level of
slowdown.
You might want to try gcc 3.2, also, to see if that makes a difference.
- -Corey
Robert Schweikert wrote:
|Hi,
|
|Sorry if this is the wrong list.
|
|I have a question/concern about application startup and shared library
|load performance. We have a large interactive application that uses a
|lot of shared libraries. The application startup time and the load times
|of the shared libraries on Linux is very bad when compared to W2K. I do
|not have a number for the startup time but as an example here are the
|load times for a couple of libraries.
|
|The times on Linux:
|
|Here are the numbers on Linux
|
|Loading /exec/PartGui.so ...
|Load time: 1.26768 seconds
|Begin dynamic initialization ...
|Dynamic initialization time: 0.219152 seconds
|Loading /exec/Part.so ...
|Load time: 17.993 seconds
|Begin dynamic initialization ...
|Dynamic initialization time: 0.732228 seconds
|Loading /exec/PropertyGui.so ...
|Load time: 1.49174 seconds
|Begin dynamic initialization ...
|Dynamic initialization time: 0.099248 seconds
|Loading /exec/Property.so ...
|Load time: 2.13095 seconds
|Begin dynamic initialization ...
|Dynamic initialization time: 0.653313 seconds
|
|
|Here are the numbers on W2K
|
|Loading d:\exec\PartGui.dll ...
|Load time: 0.515 seconds
|Begin dynamic initialization ...
|Dynamic initialization time: 0.188 seconds
|Loading d:\exec\Part.dll ...
|Load time: 4.234 seconds
|Begin dynamic initialization ...
|Dynamic initialization time: 0.0779999 seconds
|Loading d:\exec\PropertyGui.dll ...
|Load time: 0.422 seconds
|Begin dynamic initialization ...
|Dynamic initialization time: 0.109 seconds
|Loading d:\exec\Property.dll ...
|Load time: 0.25 seconds
|Begin dynamic initialization ...
|Dynamic initialization time: 0.438 seconds
|
|
|These times were collected on PIII !GHz machines with identical I/O
|hardware. Since Linux does everything else faster the W2K I was
|wondering if anyone has any tips on how we can improve on the load times
|on Linux.
|
|We use dlopen call for the shared libraries, the code is compiled with
|the Intel C/C++ compiler.
|
|Any insight/help on this topic is much appreciated.
|
|Thanks,
|Robert
|
|
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQE+S77FIXnXXONXERcRAtbyAKCXyH8GsHxU3yYA/D2zZUwphjsoAACeIW6r
mWJ/Gk79MctlW1hbR4uzoos=
=YGpq
-----END PGP SIGNATURE-----