Calvin
Morrison wrote:
On 20 December 2011 12:21, Bruce Dubbs
<bruce.dubbs(a)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.