Parallelizing GCC's Internals Continues To Be Worked On & Showing Promising Potential

Written by Michael Larabel in GNU on 26 September 2019 at 03:13 AM EDT. 35 Comments
GNU
One of the most interesting Google Summer of Code projects this year was the student effort to work on better parallelizing GCC's internals to deal with better performance particularly when dealing with very large source files. Fortunately -- given today's desktop CPUs even ramping up their core counts -- this parallel GCC effort is being continued.

Student developer Giuliano Belinassi did a good job on the project this summer and is continuing to be involved in the effort. Giuliano presented at this month's GNU Tools Cauldron 2019 conference on the work done so far, how the performance is looking, and what else is left to be accomplished.

The parallelizing work began in the middle-end, hardware-independent portion of the GNU Compiler and in particular with the Intra-Procedural Optimization pass since that is where most time was spent when analyzing the time to build the large gimple-match source file.

When it came to parallelizing GIMPLE, a 2.52x speed-up with four threads was observed for carrying out the IPA pass while the actual GCC time was a 1.09x improvement. When taking it further with parallelized RTL, there was a 1.6x speed-up in compile time. That is also "without much optimization" as there is a lot of opportunity left. Of course, don't expect these speed-ups for all source files but the main benefactor is when using GCC to compile very large source files.


Those wanting to learn more about this effort can see Belinassi's PDF slide deck and the presentation recording above.
Related News
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.

Popular News This Week