GCC 9 Compiler Tuning Benchmarks At Various Optimization Levels, Vectorize Options

Written by Michael Larabel in Software on 12 January 2019 at 08:34 AM EST. Page 3 of 3. 76 Comments.

The vectorize options obviously don't help out universally, but we haven't seen any major regressions caused by adding them to -O2.

Obviously, the more optimizations the compiler has to deal with, the longer the build times. Fortunately, "-ftree-vectorize -ftree-slp-vectorize" don't slow down GCC a whole lot at the O2 optimization level.

Those wanting to dig through more benchmark results can find all of these tests and more via this OpenBenchmarking.org result file.

If looking at the geometric mean of all the compiler benchmarks carried out, adding -ftree-vectorize -ftree-slp-vectorize to -O2 increased the performance by just under 2%. Not bad for what will hopefully be a default change to benefit the common -O2 optimization level albeit may have to wait until next year's GCC 10 release. Also, we didn't encounter any tests where those vectorize options really hurt the performance.

If you enjoyed this article consider joining Phoronix Premium to view this site ad-free, multi-page articles on a single page, and other benefits. PayPal or Stripe tips are also graciously accepted. Thanks for your support.


Related Articles
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.