LTO (Link Time Optimization) is a GCC feature to provide additional optimization on the traditional ones. I made an ad-hoc benchmarking of the new Linaro 4.8 2013.11 (GCC 4.8.3 pre) and binutils 2.4 building common archivers, measuring performance of LTO and compared to BusyBox equivalent too.
Size gain of executable files resulted by LTO is between 0 and 8% depending on application. Compilation time is increasing significantly, by 60-100% or even more. What is about performance? There are no significant change except mainstream tar when LTO optimized version is 100% faster creating tar file.
The most interesting is the BusyBox comparision. In most cases it has the same or better performance than the mainstream equivalent except gzip. I was supprized, expected much worst result for BusyBox.
Second table shows runtime in mm:ss
It is a quick ad-hoc test, but a good indication what you can expect from LTO. If you are compiling a program, it is worth to try LTO if you have GCC 4.7.x or 4.8.x (expecting toolchain supports LTO). Just add
-flto to compiler flags. Result must be similar on x86