Giuliano Augusto Faulin Belinassi
2018-11-14 21:47:41 UTC
As a brief introduction, I am a graduate student that got interested
in the "Parallelize the compilation using threads"(GSoC 2018 [1]). I
am a newcommer in GCC, but already have sent some patches, some of
them have already been accepted [2].
I brought this subject up in IRC, but maybe here is a proper place to
discuss this topic.
From my point of view, parallelizing GCC itself will only speed up the
compilation of projects which have a big file that creates a
bottleneck in the whole project compilation (note: by big, I mean the
amount of code to generate). Additionally, I know that GCC must not
change the project layout, but from the software engineering perspective,
this may be a bad smell that indicates that the file should be broken
into smaller files. Finally, the Makefiles will take care of the
parallelization task.
My questions are:
1. Is there any project compilation that will significantly be improved
if GCC runs in parallel? Do someone has data about something related
to that? How about the Linux Kernel? If not, I can try to bring some.
2. Did I correctly understand the goal of the parallelization? Can
anyone provide extra details to me?
I am willing to turn my master’s thesis on that and also apply to GSoC
2019 if it shows to be fruitful.
[1] https://gcc.gnu.org/wiki/SummerOfCode
[2] https://patchwork.ozlabs.org/project/gcc/list/?submitter=74682
Thanks
in the "Parallelize the compilation using threads"(GSoC 2018 [1]). I
am a newcommer in GCC, but already have sent some patches, some of
them have already been accepted [2].
I brought this subject up in IRC, but maybe here is a proper place to
discuss this topic.
From my point of view, parallelizing GCC itself will only speed up the
compilation of projects which have a big file that creates a
bottleneck in the whole project compilation (note: by big, I mean the
amount of code to generate). Additionally, I know that GCC must not
change the project layout, but from the software engineering perspective,
this may be a bad smell that indicates that the file should be broken
into smaller files. Finally, the Makefiles will take care of the
parallelization task.
My questions are:
1. Is there any project compilation that will significantly be improved
if GCC runs in parallel? Do someone has data about something related
to that? How about the Linux Kernel? If not, I can try to bring some.
2. Did I correctly understand the goal of the parallelization? Can
anyone provide extra details to me?
I am willing to turn my master’s thesis on that and also apply to GSoC
2019 if it shows to be fruitful.
[1] https://gcc.gnu.org/wiki/SummerOfCode
[2] https://patchwork.ozlabs.org/project/gcc/list/?submitter=74682
Thanks