When do commits happen in the FreeBSD src tree?

Following on from When do commits happen to the FreeBSD ports tree?, I asked Claude to review the src tree.

How often does the FreeBSD src tree go quiet? I looked at every commit to the src tree over the past ten years and counted the periods of at least 15 minutes with no commits at all. All times are UTC.

The short answer

Between 2016-09-26 12:07 UTC and 2026-09-26 12:07 UTC there were 41,560 gaps of 15 minutes or more between commits to the src tree, about 11 a day. The src tree is quieter than the ports tree, so gaps are longer and cover more of the clock. The quietest time is 04:00–07:59 UTC; the busiest is 15:00–20:59 UTC, which lines up with the working day in the Americas.

  • 73,171 distinct commit timestamps in the ten-year window
  • About 98% of all clock time fell inside one of these 15-minute-plus gaps
  • Median gap length: about 69 minutes
  • 22,878 gaps lasted an hour or more; 8,267 lasted three hours or more

Method

  • Source: the main branch of the freebsd-src repository, following first-parent history so that each commit is counted when it landed on main (branches are not included). The src tree moved from Subversion to Git in December 2020; the earlier history comes from the Subversion-to-Git conversion.
  • Timestamps: committer date, converted to UTC and sorted. For the Subversion era this is the time the commit reached the server. Git does not record push time, so for the Git era committer date is the closest available measure of when a change landed.
  • A gap is the time between two consecutive commits, counted when it is 15 minutes or longer.
  • Cross-check: using author date instead gives 45,338 gaps, with the same overall pattern.

Time of day

For each UTC hour, the table shows the share of that hour spent inside a gap of 15 minutes or more, how many gaps started in that hour, and how many gaps of one hour or more started in that hour.

Hour (UTC)Time spent in a gapGaps starting1h+ gaps starting
00:00–00:5998.1%1,522975
01:00–01:5998.6%1,296851
02:00–02:5998.5%1,212824
03:00–03:5998.7%1,138766
04:00–04:5998.7%1,106761
05:00–05:5998.8%1,004697
06:00–06:5999.0%1,009702
07:00–07:5998.8%1,117735
08:00–08:5998.7%1,216831
09:00–09:5998.5%1,323881
10:00–10:5998.6%1,273852
11:00–11:5998.3%1,275816
12:00–12:5998.5%1,359815
13:00–13:5997.8%1,811923
14:00–14:5996.6%2,2401,037
15:00–15:5996.1%2,4391,104
16:00–16:5995.7%2,5451,132
17:00–17:5995.4%2,6321,189
18:00–18:5995.7%2,6501,155
19:00–19:5995.5%2,5751,168
20:00–20:5995.6%2,4631,164
21:00–21:5996.0%2,4791,272
22:00–22:5997.0%2,0951,169
23:00–23:5997.5%1,7811,059

In the src tree, gaps cover almost the whole clock at every hour, so the differences are small but consistent: 98.5–99.0% of each hour between 01:00 and 08:59 UTC is quiet, against 95.4–96.1% between 15:00 and 20:59 UTC. More gaps start in the afternoon and evening UTC simply because that is when most commits happen: each burst of activity is followed by a new gap.

Year by year

Gaps are counted in the year they started. 2016 and 2026 are partial years.

YearCommitsGaps (15 min+)Gaps (1h+)Time spent in a gap
2016 (from Sep 26)2,4631,40468295.8%
20178,9345,0762,52196.3%
20189,3895,0872,39295.9%
20197,5224,4202,34997.1%
20208,1124,6122,41297.1%
20216,9904,2132,41398.0%
20226,0843,4142,08498.4%
20235,9833,4802,13098.4%
20245,7263,2022,03798.5%
20256,4783,6742,16798.3%
2026 (to Sep 26)5,4902,9781,69197.9%

Commit volume on src main has fallen from about 9,400 commits in 2018 to between 5,700 and 6,500 a year since 2022. The number of 15-minute gaps has fallen with it, because fewer commits means fewer, longer quiet periods rather than more of them.

How long the gaps are

Gap lengthNumber of gaps
15–59 minutes18,682
1–2 hours9,892
2–3 hours4,719
3–4 hours2,656
4–5 hours1,701
5–6 hours1,103
6–7 hours706
7–8 hours510
8–9 hours399
9–10 hours310
10–11 hours234
11–12 hours170
12–24 hours453
24 hours or more25

The longest gaps

The longest gap, about 73 hours from Sunday 2020-12-20 02:59 to 2020-12-23 04:27 UTC, was the freeze for the move from Subversion to Git; the first commit afterwards is “Mark the repository has been converted to Git”. Most of the other long gaps start on a Friday night or a weekend, or over Christmas.

Last commit before (UTC)Next commit (UTC)Hours
Sun 2020-12-20 02:592020-12-23 04:2773.5
Fri 2025-06-06 21:582025-06-08 15:2141.4
Fri 2018-10-19 00:372018-10-20 16:5940.4
Wed 2024-12-25 02:002024-12-26 14:4436.7
Sat 2023-08-26 21:512023-08-28 09:1535.4
Sat 2023-10-14 02:102023-10-15 12:0934.0
Sat 2024-08-17 18:232024-08-19 03:3433.2
Sat 2025-01-18 06:072025-01-19 13:2931.4
Sun 2024-12-22 03:162024-12-23 10:0030.7
Sat 2021-08-14 16:512021-08-15 22:1029.3
Website Pin Facebook Twitter Myspace Friendfeed Technorati del.icio.us Digg Google StumbleUpon Premium Responsive

Leave a Comment

Scroll to Top