[Interest] update on building Qt/Linux with clang?

Thiago Macieira thiago.macieira at intel.com
Wed Nov 7 00:02:10 CET 2018


On Tuesday, 6 November 2018 14:09:14 PST René J. V. Bertin wrote:
> Thiago Macieira wrote:
> > Off-topic: no one uses bzip2 anymore. It's slow to compress, slow to
> > decompress and produces worse results than xz.
> 
> Xz is even slower, and on the machine these numbers came from that
> difference is more important in this case.

Don't use -9 then. Try using something between -3 and -6. In a test locally 
with a 250 MB source (I believe it was qtbase's .tar file), I got the 
following results:

gzip -9:	60.2 MB @ 22.16s
bzip2 -9:	50.2 MB @ 25.26s
xz -2:	49.4 MB @ 34.28s
zstd -14:	49.0 MB @ 20.16s
zstd -19:	45.9 MB @ 52.36s
xz -6:	44.4 MB @ 99.19s
xz -9:	42.5 MB @ 98.28s

More importantly, the decompression times: gzip took 0.84s, zstd 0.30s and xz 
2.81s. But bzip2 needed 6.6s.

I'm adding Zstandard as an alternative to Zlib in Qt:
https://codereview.qt-project.org/244431
https://codereview.qt-project.org/244432

> > Both are -O3 -march=native -g1 builds. So yes, the Clang build is smaller,
> > but not significantly so.
> 
> You know that significant is not a synonym for considerable, right? ;)

I know. But:
	negligible < significant < considerable

I'm claiming that the size is less than what you claim to be a problem.

> > takes longer to compile or increases the size considerably", you don't
> > really care about size.
> 
> Off-topic, but if I can get the same performance with a smaller size, why
> opt for the larger size?

Because you can't.

> > Clang carries 9793421 bytes of debug information, while GCC produces
> > 13951906. That's a much bigger difference.
> 
> I know; most of my builds do have debug info so this is important to me.
> I should look into using separate debug info sometime, but not if it gives
> something comparable to the .dSYM folders that tend to litter my
> directories. I hate that for some reason.

That's why you should strip them out and compress them. Store them where you 
may need them (possibly never).

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center






More information about the Interest mailing list