On Sat, Apr 4, 2026 at 8:06 PM Andrew Pinski
<[email protected]> wrote:
>
> 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

Here is the data for some back-ends (x86, aarch64 and riscv):
GCC-VER x86-com x86-auth x86aver a64 a64-auth a64-aver  rv-com rv-auth  rv-av
5       377     57      7       309     45      7
6       376     61      6       293     47      6
7       394     50      8       189     35      5       7       4       2
8       443     42      11      237     34      7       52      16      3
9       315     38      8       191     38      5       36      10      4
10      351     28      13      321     40      8       38      11      3
11      283     36      8       260     41      6       56      17      3
12      482     37      13      233     27      9       48      13      4
13      278     40      7       137     27      5       263     38      7
14      445     42      11      363     40      9       965     64      15
15      425     49      9       386     51      8       400     65      6
16      269     40      7       300     48      6       400     52      8

The thing to note is the explosion in riscv in GCC 13 and 14 after
being quiet after the addition in GCC 7.
also it looks like aarch64 is increasing in healthiness though maybe
GCC 16 is slightly down. We will see compared to GCC 17 next year.
that x86 in GCC 13 seems to correspond to the drop in the middle-end
changes which kind of makes sense.

Thanks,
Andrew



>
>
> 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