On Fri, Apr 3, 2026 at 4:05 PM Andrew Pinski
<[email protected]> wrote:
>
> On Fri, Apr 3, 2026 at 3:30 PM David Edelsohn <[email protected]> wrote:
> >
> > Hi, Andrew
> >
> > Thanks for analyzing this.  It is very helpful.
> >
> > I'm curious about finer granularity information than commits and 
> > contributors to the entire repository.  The contents and size of the 
> > repository itself have no held constant, which can skew the comparisons.  
> > Specifically, during these periods GCC has added Algol68, Rust, and COBOL 
> > front-ends.  Shifting focus on some backends and rapid evolution of some 
> > backends.
> >
> > I'm curious about the trends for the core languages, their runtimes, and 
> > the middle-end.
>
> This is harder due to the current way GCC sources are structured.
> But I will try to create some scripts which does this but no promises.
> Also since the current scripts use the author on the git commits. It
> also does not track email changes nor it does add in if the commit was
> also co-authored by someone.
> I am thinking about having the testsuite as a separate bucket from the
> rest because there has been in recent years contributors which have
> just done testsuite improvements.


Here is some more data that I collected:


GCC VER commits authors aver  middle   m-auth  m-aver  cp-com cp-auth  cp-av
5       7715    304     25      2351    149     16      1208    108     11
6       7482    304     25      2419    150     16      1332    106     13
7       7319    288     25      2088    132     16      1503    86      17
8       7584    266     29      2293    107     21      1378    69      20
9       6767    286     24      1692    114     15      1376    74      19
10      7686    289     27      1868    125     15      1648    78      21
11      7899    306     26      1634    117     14      1702    92      18
12      7903    281     28      1877    113     17      1584    84      19
13      6844    314     22      1406    104     14      1312    64      20
14      9709    393     25      1839    132     14      1360    98      14
15      9178    375     24      1792    121     15      1631    79      21
16      8044    390     21      1679    123     14      1604    109     15


m-auth is the middle-end authors
m-av is the middle-end average patches/authors
cp is C++ and C front-ends, preprocessor and libstdc++ rutime library

middle-end is matching
`gcc\/([^\/]*\.cc|[^\/]*\.[ch]|[^\/]*\.opt|rtl-ssa` regex in the
filename using awk (note this misses out lto "front-end").
cp is matching `gcc\/(cp|c-family|c)\/|libstdc\+\+|libcpp` regex.

Note middle-end and cp commits sometimes overlap.

I just wanted to give an update here more to show what data
representation so far.
Plus it really shows that something happened during GCC 13.
Also the number of contributors to the middle-end went down during GCC
8 and is recovering.
The C/C++ front-end and libstdc++ runtime contributions are now back
to the height of GCC 5.

I will collect some backend (riscv, x86 and aarch64) data soon.

Note I collected post GCC 5 data only because it is the easiest to get
the point of the branch of the previous version. But that gives the
last 12 years worth of data.
I also noticed the data is messed up if I do it based on the year; For
an example 2022 was all messed up and had way too little commits in
it; though with the dip in GCC 13, that explains part of it but it was
way too less. This is why I used GCC release instead.

I will propose to add this script to contrib for others to modify and
use if they want.

>
> Thanks,
> Andrew
>
> >
> > Cheers, David
> >
> >
> >
> > On Fri, Apr 3, 2026 at 6:15 PM Andrew Pinski via Gcc <[email protected]> 
> > wrote:
> >>
> >> So using James' git commit from
> >> https://inbox.sourceware.org/gcc/[email protected]/ .
> >> Here is the updated #s based on the releases.
> >> Since GCC 11.
> >>
> >> -----------------------------------------------------------------
> >> Year            | GCC11 | GCC12 | GCC13 | GCC14 | GCC15 | GCC16 |
> >> -----------------------------------------------------------------
> >> Total Commits   | 8294  |  8339 | 7244  | 10173 |  9583 | 8451  |
> >> Total Commitors |  309  |   288 |  317  |   399 |   380 |  393  |
> >> Average commits |   26  |    28 |   22  |   25  |    25 |   21  |
> >> -----------------------------------------------------------------
> >> Number of committers with...                                    |
> >> 0-19 commits    |   238 |   218 |  249  |  298  |  281  |  306  |
> >> 20-39 commits   |    24 |    26 |   30  |   38  |   39  |   37  |
> >> 40-59 commits   |    13 |     7 |   11  |   18  |   19  |   17  |
> >> 60-79 commits   |     9 |     4 |    7  |   11  |   10  |    6  |
> >> 80-99 commits   |     4 |     8 |    4  |    8  |    9  |    4  |
> >> 100+ commits    |    21 |    23 |   16  |   26  |   22  |   23  |
> >> -----------------------------------------------------------------
> >>
> >> So if we look at this vs what was previously reported for 2001-2015,
> >> the number of contributers has almost doubled. The number of
> >> contributors for 100+ commits has been stable since 2015 (I didn't
> >> check GCC 7/8/9/10) (except for GCC 13, I have not looked into why
> >> though).
> >>
> >> GCC 16 release did have less commits than the previous 2 releases but
> >> I am not sure that is an issue though; I think C++26 reflection done
> >> as 1  commit rather than a few skewes the number of commits down.
> >>
> >> GCC is getting folks contributing a few commits and it is increased in
> >> the last few years. It has almost tripled since 2015 even (115 vs
> >> 306). Even the number of contributors has doubled since 2015 (190 vs
> >> 393).
> >>
> >> Thanks,
> >> Andrew Pinski
> >>
> >> Raw output:
> >>
> >> GCC 16/trunk:
> >>   Total commits: 8451
> >>   Total Contributors: 393
> >>   Average commit count per contributor: 21.5038
> >>       0-19      306
> >>       20-39     37
> >>       40-59     17
> >>       60-79     6
> >>       80-99     4
> >>       100+      23
> >>
> >> GCC 15.1.0 release:
> >>   Total commits: 9583
> >>   Total Contributors: 380
> >>   Average commit count per contributor: 25.2184
> >>       0-19      281
> >>       20-39     39
> >>       40-59     19
> >>       60-79     10
> >>       80-99     9
> >>       100+      22
> >>
> >> GCC 14.1.0 release:
> >>   Total commits: 10173
> >>   Total Contributors: 399
> >>   Average commit count per contributor: 25.4962
> >>       0-19      298
> >>       20-39     38
> >>       40-59     18
> >>       60-79     11
> >>       80-99     8
> >>       100+      26
> >>
> >> GCC 13.1.0 release:
> >>   Total commits: 7244
> >>   Total Contributors: 317
> >>   Average commit count per contributor: 22.8517
> >>       0-19      249
> >>       20-39     30
> >>       40-59     11
> >>       60-79     7
> >>       80-99     4
> >>       100+      16
> >>
> >> GCC 12.1.0 release:
> >>   Total commits: 8339
> >>   Total Contributors: 288
> >>   Average commit count per contributor: 28.9549
> >>       0-19      218
> >>       20-39     26
> >>       40-59     7
> >>       60-79     6
> >>       80-99     8
> >>       100+      23
> >>
> >> GCC 11.1.0 release:
> >>   Total commits: 8294
> >>   Total Contributors: 309
> >>   Average commit count per contributor: 26.8414
> >>       0-19      238
> >>       20-39     24
> >>       40-59     13
> >>       60-79     9
> >>       80-99     4
> >>       100+      21

Reply via email to