On 21 December 2011 15:54, Nix <nix@esperi.org.uk> wrote:
On 20 Dec 2011, Bruce Dubbs said:
 
 
> Calvin Morrison wrote:
>> On 20 December 2011 12:21, Bruce Dubbs <bruce.dubbs@gmail.com> wrote:
>
>>> Trolltech did the separation in Qt4.  Their major libraries are libQtCore,
>>> libQtGui, libQtMultimedia.so, and libQtNetwork.so.  The other libraries
>>> essentially add on additional functionality.
>>>
>>> The same sort of thing could be done with Qt3, but I question the value.
>>>  If someone is building a new application, they would probably just build
>>> it with Qt4.
>
>> some applications would load faster and/or use less memory because they
>> aren't linking a giant so file and instead fewer smaller ones that they
>> actually need
>
> LOL. The libraries you refer to are already in memory. They don't have
> to be loaded again. That's what a shared library does. Even if they
> weren't in memory, the system would have to be instrumented to measure
> the change. It would be imperceptible to the user.

It would use a bit less memory, and speed up startup a bit, because
fewer relocations are required, and relocations necessarily require
making the page containing the relocations private to that process, and
writable. Even on a prelinked system, some memory would be saved,
because two relocations are required per C++ class even when prelink is
in use, and a split Qt would contain many fewer classes in the
non-X-using part than exist in all of Qt now.

(But despite that, you are surely right that the cost/benefit tradeoff
is surely not worth it for Qt3.)

--
NULL && (void)

It would not be a giant benefit to users who already have loaded the libraries into memory, but it would for people who are looking to use Trinity applications as stand alone.