I’m currently migrating RandFill from plain Win32 code to a mix of Win32 and Qt 5 code (mainly the GUI parts, at the moment); and the size comparison between these two versions is sobering.
It’s still a work-in-progress, but since the basic project builds again, I wanted to check the sizes of the old and new versions, just for fun. I’m aware that depending on the Qt runtime libraries will cost in terms of kilobytes, but the direct comparison for the kind of small utility program that “RandFill” is, hits hard.
1.1.0
Pure Win32-API, multi-byte character set, 32-bit build…
Which adds up to 288 KB in total. The actual NSIS setup file comes with 201 KB.

1.2.x-devel
Win32 and Qt 5, Unicode, …
As a 32-bit installation on Windows Vista this adds up to 12'482 KB in total. The actual NSIS setup file comes with 5'728 KB.
%20size.png)
As a 64-bit Unicode installation on Windows 7 this adds up to a whopping 15'268 KB in total. The actual NSIS setup file comes with 6'827 KB.
%20size.png)
Some remarks:
- The Qt 5 libraries have been built by myself, and although I excluded some modules, there might be room for improvements (but I doubt that the gain would be very high).
- All builds and the Qt library are in Release mode.
All builds are dynamically linked to the Microsoft C Run-Time and Standard C++ libraries, meaning thatfor actual deployment I would also need to bundle the setup with Microsoft’s Visual C++ Redistributable Packages (vcredist_*.exe) or at least provide a link to it.
Update 2015-03-13: Actually, as I discovered in the meantime, the application (exe) and devices library (DLL) were statically linked, and only the Qt files dynamically. This mismatch would lead to some interesting errors later on…
Well, that’s progress 😉
But seriously, of course for such a small tool the footprint is too big, but Qt makes the (GUI) development much easier for me and if the program grows (or for other, more complex programs), the foundation will almost stay the same (I hope…).
Film & Television (55)
How To (64)
Journal (17)
Miscellaneous (4)
News & Announcements (21)
On Software (12)
Projects (26)