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
