[Interest] Qt .dlls size reduction

Philippe philwave at gmail.com
Fri Aug 7 16:49:42 CEST 2015


The difference is that the DLLs remain compressed on the user's system. They are uncompressed in the application memory space when the application is launched, "instantly".
Obviosuly, this system does not save RAM in anyway (maybe that was your original request, and in that case, look there for some optimizations: http://www.drdobbs.com/rebasing-win32-dlls/184416272).

I sent you this link because I used this system successfully many years ago (I have no relation ship to this company). Now I remember another system (and free) that worked fine with me (and actually better in 64 bit at that time): http://www.matcode.com/mpress.htm
I see today that a Mac version is also available.

Philippe

On Fri, 7 Aug 2015 23:06:01 +0900
Gunnar Roth <gunnar.roth at gmx.de> wrote:

Hi Philippe
> May i asked what the advantage is against a 7z compressed msi file? 
> If you remove code from code it gets smaller because you can still apply compression afterwards and it gets even more smaller.
> These exe compactors do not reduce the used RAM memory when loaded actually afaik more memory is used because OS cannot page from dll file.
> And why do you send a link to a commercial packer instead of UPX?
> 
> 
> Regards,
> Gunnar
> 
> 
> 
> 
> 
>> Am 07.08.2015 um 22:56 schrieb Philippe <philwave at gmail.com>:
>> 
>> Under Windows, use a runtime compacter such as https://bitsum.com/pecompact/
>> 
>> Philippe
>> 
>> On Fri, 07 Aug 2015 13:31:55 +0000
>> Rafael Machado <rafaelrodrigues.machado at gmail.com> wrote:
>> 
>>> Hi everyone 
>>> 
>>> 
>>> This is my first question on this mail list, so sorry for possible trivial questions.
>>> 
>>> 
>>> I have task to reduce the size of an installer of an application from my company.
>>> What I checked is that the qt dlls that we use are kind of big, so my idea was to try to reduce these dlls sizes.
>>> 
>>> 
>>> To do it I have compiled qt removing several modules that we don't use. Something like:
>>> 
>>> 
>>> configure -release -confirm-license -opensource -nomake examples -nomake tests -no-evdev -no-mtdev -no-inotify -no-system-proxies -no-fontconfig -no-harfbuzz -no-plugin-manifests -no-ssl -no-openssl -no-dbus -no-audio-backend -no-wmf-backend -no-qml-debug -no-directwrite -no-direct2d -no-native-gestures -no-style-windows -no-style-windowsxp -no-style-windowsvista -no-style-fusion -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtdoc -skip qtdocgallery -skip qtfeedback -skip qtlocation -skip qtmacextras -skip qtmultimedia -skip qtrepotools -skip qtscript -skip qtsensors -skip qtserialport -skip qtsvg -skip qttools -skip qttranslations -skip qtwayland -skip qtwebengine -skip qtwebkit -skip qtwebkit-examples -skip qtwinextras -skip qtx11extras
>>> 
>>> 
>>> 
>>> After doing this, the qtcore.dll was reduced from 4.928.000 bytes to 4.617.728 bytes.
>>> 
>>> 
>>> I have checked at the documentation, and there are some options to remove some features from the packages. For example, in case, we don't need the feature UDPSOCKET for example, so adding to the configuration command the option -no-feature-UDPSOCKET should remove unneeded things. (Features found at C:\cygwin\home\.............\qtbase\src\corelib\global\qfeatures.txt)
>>> 
>>> 
>>> The problem is that the option to remove features seems to be available just for linux-embedded and not for the windows version of qt.
>>> Is my understanding correct ?
>>> 
>>> 
>>> The last question. Is if is there any other option to try to reduce the .dll sizes ?
>>> 
>>> 
>>> Thanks for the help.
>>> 
>>> 
>>> Thanks and Regards
>>> Rafael R. Machado
>>> 


_______________________________________________
Interest mailing list
Interest at qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest






-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20150807/ebe8ee5f/attachment.html>


More information about the Interest mailing list