GCC Benchmarks At Varying Optimization Levels With Core i9 10900K Show An Unexpected Surprise

Written by Michael Larabel in Software on 27 July 2020 at 10:07 AM EDT. Page 2 of 4. 59 Comments.

With the Crypto++ benchmark the -O3 -march=native optimization flags understandably provided better performance than -O2 but from GCC 8 to GCC 10 there wasn't much difference. Notably though the link-time optimization (-flto) run did slightly hurt the performance.

When looking specifically at the keyed algorithms with Crypto++ is where the LTO optimized build regressed the performance the most.

With SMHasher for some of the hash tests it was showing a drop meanwhile in LTO performance from GCC 9 to the current GCC 10 stable series. Interestingly this is the first (of more to come) where the -O2 performance drops off significantly from GCC 9 to GCC 10.

Some FFTW runs were also showing LTO still leading to lower performance.

While for larger FFT sizes, the LTO optimized build was helping out.

For the very basic SciMark 2 benchmarks the LTO build hurt the performance compared to "-O3 -march=native" but this was another test where the -O2 performance is much slower on GCC 10 than on GCC 9/8 series.


Related Articles