05.11.2018, 23:31, "Thiago Macieira" <thiago.macie...@intel.com>: > On Monday, 5 November 2018 11:33:58 PST René J.V. Bertin wrote: >> On Monday November 05 2018 12:03:31 René J.V. Bertin wrote: >> >In my experience clang generates significantly more compact binaries >> >> Quite: bzipped tarballs of everything except the examples, translations, >> QWE, QtWebView and Qt3D: > > Off-topic: no one uses bzip2 anymore. It's slow to compress, slow to > decompress and produces worse results than xz.
bzip2 still has one valid use case: it requires less memory for compression > >> -rw-r--r-- 1 root root 363M Sep 8 13:22 >> qt5-kde-devel-5.9.6.linux_3.x86_64.tbz2 (1003Mb uncompressed tarball) >> -rw-r--r-- 1 root root 199M Nov 5 19:22 >> qt5-kde-devel-5.9.7.linux_3.x86_64.tbz2 (710Mb uncompressed tarball) >> >> The first built with GCC 8, the 2nd with clang 6.0; identical compiler >> options (release build, -O3, force_debug_info for qtbase). > > Please compare debug-stripped binaries. > > text data bss dec hex filename > 7205857 200632 1714 7408203 710a4b lib/libQt5Widgets.so > 6727027 197920 1576 6926523 69b0bb clang/libQt5Widgets.so > > Both are -O3 -march=native -g1 builds. So yes, the Clang build is smaller, but > not significantly so. And since -O3 means "aggressively optimise, even if it > takes longer to compile or increases the size considerably", you don't really > care about size. Bigger code could indicate more optimisations applied (loop > unrolling, vectorisation). > > Anyway, compare the debug sections of the two: > > GCC: > Section Headers: > [Nr] Name Type Off Size ES Flags Lk Inf Al > [29] .debug_line PROGBITS 00710a80 002c360b 0 0 0 1 > [30] .debug_info PROGBITS 009d408b 00567018 0 0 0 1 > [31] .debug_abbrev PROGBITS 00f3b0a3 0002813a 0 0 0 1 > [32] .debug_aranges PROGBITS 00f631e0 0000fd70 0 0 0 16 > [33] .debug_str PROGBITS 00f72f50 001f84b5 1 MS 0 0 1 > [34] .debug_ranges PROGBITS 0116b410 002f3a20 0 0 0 16 > > Clang: > [28] .debug_aranges PROGBITS 0069c0a0 00000080 0 0 0 16 > [29] .debug_info PROGBITS 0069c120 004b52fc 0 0 0 1 > [30] .debug_abbrev PROGBITS 00b5141c 00006dea 0 0 0 1 > [31] .debug_line PROGBITS 00b58206 0032d586 0 0 0 1 > [32] .debug_str PROGBITS 00e8578c 000377fb 1 MS 0 0 1 > [33] .debug_macinfo PROGBITS 00ebcf87 000000b6 0 0 0 1 > [34] .debug_ranges PROGBITS 00ebd040 00135ff0 0 0 0 16 > > Clang carries 9793421 bytes of debug information, while GCC produces 13951906. > That's a much bigger difference. > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Regards, Konstantin _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest