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
mainbranch of thefreebsd-srcrepository, following first-parent history so that each commit is counted when it landed onmain(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 gap | Gaps starting | 1h+ gaps starting |
|---|---|---|---|
| 00:00–00:59 | 98.1% | 1,522 | 975 |
| 01:00–01:59 | 98.6% | 1,296 | 851 |
| 02:00–02:59 | 98.5% | 1,212 | 824 |
| 03:00–03:59 | 98.7% | 1,138 | 766 |
| 04:00–04:59 | 98.7% | 1,106 | 761 |
| 05:00–05:59 | 98.8% | 1,004 | 697 |
| 06:00–06:59 | 99.0% | 1,009 | 702 |
| 07:00–07:59 | 98.8% | 1,117 | 735 |
| 08:00–08:59 | 98.7% | 1,216 | 831 |
| 09:00–09:59 | 98.5% | 1,323 | 881 |
| 10:00–10:59 | 98.6% | 1,273 | 852 |
| 11:00–11:59 | 98.3% | 1,275 | 816 |
| 12:00–12:59 | 98.5% | 1,359 | 815 |
| 13:00–13:59 | 97.8% | 1,811 | 923 |
| 14:00–14:59 | 96.6% | 2,240 | 1,037 |
| 15:00–15:59 | 96.1% | 2,439 | 1,104 |
| 16:00–16:59 | 95.7% | 2,545 | 1,132 |
| 17:00–17:59 | 95.4% | 2,632 | 1,189 |
| 18:00–18:59 | 95.7% | 2,650 | 1,155 |
| 19:00–19:59 | 95.5% | 2,575 | 1,168 |
| 20:00–20:59 | 95.6% | 2,463 | 1,164 |
| 21:00–21:59 | 96.0% | 2,479 | 1,272 |
| 22:00–22:59 | 97.0% | 2,095 | 1,169 |
| 23:00–23:59 | 97.5% | 1,781 | 1,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.
| Year | Commits | Gaps (15 min+) | Gaps (1h+) | Time spent in a gap |
|---|---|---|---|---|
| 2016 (from Sep 26) | 2,463 | 1,404 | 682 | 95.8% |
| 2017 | 8,934 | 5,076 | 2,521 | 96.3% |
| 2018 | 9,389 | 5,087 | 2,392 | 95.9% |
| 2019 | 7,522 | 4,420 | 2,349 | 97.1% |
| 2020 | 8,112 | 4,612 | 2,412 | 97.1% |
| 2021 | 6,990 | 4,213 | 2,413 | 98.0% |
| 2022 | 6,084 | 3,414 | 2,084 | 98.4% |
| 2023 | 5,983 | 3,480 | 2,130 | 98.4% |
| 2024 | 5,726 | 3,202 | 2,037 | 98.5% |
| 2025 | 6,478 | 3,674 | 2,167 | 98.3% |
| 2026 (to Sep 26) | 5,490 | 2,978 | 1,691 | 97.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 length | Number of gaps |
|---|---|
| 15–59 minutes | 18,682 |
| 1–2 hours | 9,892 |
| 2–3 hours | 4,719 |
| 3–4 hours | 2,656 |
| 4–5 hours | 1,701 |
| 5–6 hours | 1,103 |
| 6–7 hours | 706 |
| 7–8 hours | 510 |
| 8–9 hours | 399 |
| 9–10 hours | 310 |
| 10–11 hours | 234 |
| 11–12 hours | 170 |
| 12–24 hours | 453 |
| 24 hours or more | 25 |
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:59 | 2020-12-23 04:27 | 73.5 |
| Fri 2025-06-06 21:58 | 2025-06-08 15:21 | 41.4 |
| Fri 2018-10-19 00:37 | 2018-10-20 16:59 | 40.4 |
| Wed 2024-12-25 02:00 | 2024-12-26 14:44 | 36.7 |
| Sat 2023-08-26 21:51 | 2023-08-28 09:15 | 35.4 |
| Sat 2023-10-14 02:10 | 2023-10-15 12:09 | 34.0 |
| Sat 2024-08-17 18:23 | 2024-08-19 03:34 | 33.2 |
| Sat 2025-01-18 06:07 | 2025-01-19 13:29 | 31.4 |
| Sun 2024-12-22 03:16 | 2024-12-23 10:00 | 30.7 |
| Sat 2021-08-14 16:51 | 2021-08-15 22:10 | 29.3 |











