Commitfest throughput
I just finished a stint as commitfest manager for the September (2023-09) commitfest of the PostgreSQL project. After the conclusion, I of course looked at the statistics and saw that 68 patches had been committed, which I felt was low. But then I looked a bit into the past and noticed an interesting pattern: Since the beginning of the current five-commitfest system, the September commitfest almost always has the lowest number of commits.
Consider the number of patches with status “Committed” after each commitfest:
PG12 | 2018-07 | 2018-09 | 2018-11 | 2019-01 | 2019-03 |
55 | 46 | 60 | 58 | 100 | |
PG13 | 2019-07 | 2019-09 | 2019-11 | 2020-01 | 2020-03 |
64 | 39 | 35 | 49 | 90 | |
PG14 | 2020-07 | 2020-09 | 2020-11 | 2021-01 | 2021-03 |
65 | 48 | 69 | 56 | 122 | |
PG15 | 2021-07 | 2021-09 | 2021-11 | 2022-01 | 2022-03 |
81 | 54 | 58 | 58 | 98 | |
PG16 | 2022-07 | 2022-09 | 2022-11 | 2023-01 | 2023-03 |
77 | 65 | 94 | 70 | 127 | |
PG17 | 2023-07 | 2023-09 | 2023-11 | 2024-01 | 2024-03 |
87 | 68 | tbd. | tbd. | tbd. |
Here is a similar statistic directly from the Git repository: The number of commits per month, over the last five years, which covers approximately the same time interval as above.
$ git log --since='2018-10-01' --until='2023-10-01' --format='%ad' --date='format:%m' master | sort | uniq -c
953 01
819 02
1395 03
1258 04
853 05
738 06
1052 07
864 08
922 09
771 10
949 11
701 12
You can see here that the commitfest months (01, 03, 07, 09, 11) have higher numbers than their neighboring months, and among those commitfest months, September has the lowest number.
I don’t quite understand the reasons for this. Intuitively, you could make arguments why some of the other times of the year should see lower activity (holidays? vacation?). But in any case, it is good to keep this in mind when assessing commitfest throughput. Looking at the numbers in the PG17 cycle so far, even though they are much lower than the 2023-03 commitfest, we can expect that PG17 will have more activity in total than previous development cycles.