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.)