top | item 46122374

(no title)

nickelpro | 2 months ago

Unity builds have been largely supplanted by LTO. They still have uses for build time improvements in one-off builds, as LTO on a non-incremental build is usually slower than the equivalent unity build.

discuss

order

Sponge5|2 months ago

At my company, we have not seen any performance benefits from LTO on a GCC cross-compiled Qt application.

GCC version: 11.3 target: Cortex-A9 Qt version: 5.15

I think we tested single core and quad core, also possibly a newer GCC version, but I'm not sure. Just wanted to add my two cents.

o11c|2 months ago

I would expect a little benefit from devirt (but maybe in-TU optimizations are getting that already?), but if a program is pessimized enough, LTO's improvements won't be measurable.

And programs full of pointer-chasing are quite pessimized; highly-OO code is a common example, which includes almost all GUIs, even in C++.

gpderetta|2 months ago

Do you link against a version of the Qt library that provides IR objects?

In any case even with whole program optimization, O would expect that effectively devirtualizing an heavily object oriented application to be very hard.

euroderf|2 months ago

For those of you playing at home, LTO is link-time optimization.