Compiler in the News: Advanced Optimization and New Capabilities of GCC 10
My colleague Martin Jambor has joined forces with Jan Hubička, Martin Liška, Richard Biener, all experts from our SUSE Labs and toolchain development team as well, and Brent Hollingsworth from AMD, to write a new SUSE Best Practices document about the GNU Compiler Collection (GCC) 10. Now we are happy to share that we recently published this paper on our documentation portal under the title “Advanced Optimization and New Capabilities of GCC 10”.
The focus of the document is on how to select appropriate optimization options for your application and stressing benefits of advanced modes of compilation. Although chapter two is aimed mostly at SUSE customers, the paper as a whole is definitely useful and interesting for any GCC user.
First, the document provides a very detailed overview of GCC 10 as the current Development Tools Module compiler in SUSE Linux Enterprise 15 SP2, and highlights its differences and advances in regard to previous GCC versions and some other compilers. Then, it describes the optimization levels the compiler offers, and other important options developers often use. In deep detail, it explains when and how you can benefit from using Link Time Optimization (LTO) and Profile Guided Optimization (PGO) builds. Finally, it takes a closer look at the effects these optimization levels and options have.
To this end, the document presents two example case studies:
- Compiling the SPEC CPU benchmark suite: how does this impact performance on the Zen 2 microarchitecture-based AMD EPYC™ 7002 Series processor
- Speeding up a big software project while shrinking it at the same time: Mozilla Firefox
If you want to dig a bit deeper now, just have a look yourself and enjoy reading the document!
Disclaimer: The text at hand has not been reviewed by a native speaker. If you find typos or language mistakes, please send them to me (firstname.lastname@example.org) – or if you like them, just keep them and feed them.