AOCC 3.1 Compiler Performance Against Clang 12, GCC 11 On AMD EPYC
In some areas AOCC did regress compared to upstream Clang 12.
Overall, AOCC 3.1 was performing very well across a wide variety of real-world workloads.
Those wanting to see even more AOCC 3.1 vs. Clang 12 vs. GCC 11 compiler benchmarks from this AMD EPYC Milan testing can do so via this OpenBenchmarking.org result file.
Across the span of dozens of different open-source C/C++ benchmarks, AOCC 3.1 overall did come out ahead of these open-source upstream compilers. Clang 12 maintained about 1% faster performance on the geo mean over GCC 11 while AOCC 3.1 in turn squeezed out another 1% over Clang 12. But as shown for many real-world workloads there is much greater spread / advantage to AOCC on modern AMD processors.
With AOCC optimizing for delivering the best performance of the compiled binaries, this does come at a cost of longer compilation times. In some cases, AOCC 3.1 took twice as long as GCC 11.1 or Clang 12.0 when compiling the same code-base with the same compiler flags due to the additional optimization passes. Various timed build test results can be viewed via this result file.
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.