The Cairo operating system
Posted Jul 6, 2006 20:27 UTC (Thu) by
oak (guest, #2786)
In reply to:
The Cairo operating system by nix
Parent article:
Cairo release 1.2.0 now available
You forgot one additional problem with dlopen() which is debugging
things for libraries which have been dlclose()d.
Trying to determine with Valgrind in a large application doing lots
of dlopen()s and dlclose()s from which dlopened library a memory
leak is coming is "interesting". Only way to debug in that situation
is to change the code not to do dlclose() which then can have some
other problems when the libraries are dlopen()d another time...
And yes, the performance and memory usage difference between
prelinked libraries and dlopen()ed libraries is very noticable
if you have a lot of them and especially if they use C++.
For large C++ program/library not being able to do prelinking
can easily waste megabytes of memory per process (if there are
tens of thousands of symbols that need resolving).
(
Log in to post comments)