I
M
A
G
E
B
Y
I
W
O
N
A
U
S
A
K
I
E
W
I
C
Z
/
A
N
D
R
I
J
B
O
R
Y
S
A
S
S
O
C
I
A
T
E
S
two billion lines of code in nine million
unique source files. The total number
of files also includes source files cop-
ied into release branches, files that are
deleted at the latest revision, configu-
ration files, documentation, and sup-
porting data files; see the table here for
a summary of Google’s repository sta-
tistics from January 2015.
In 2014, approximately 15 million
lines of code were changedb in approxi-
mately 250,000 files in the Google re-
pository on a weekly basis. The Linux
kernel is a prominent example of a
large open source software repository
containing approximately 15 million
lines of code in 40,000 files. 14
Google’s codebase is shared by more
b Includes only reviewed and committed code
and excludes commits performed by auto-
mated systems, as well as commits to release
branches, data files, generated files, open
source files imported into the repository, and
other non-source-code files.
than 25,000 Google software developers from dozens of offices in countries
around the world. On a typical workday, they commit 16,000 changes to the
codebase, and another 24,000 changes
are committed by automated systems.
Each day the repository serves billions
of file read requests, with approximately 800,000 queries per second during
peak traffic and an average of approximately 500,000 queries per second
each workday. Most of this traffic originates from Google’s distributed build-and-test systems.c
Figure 2 reports the number of
unique human committers per week
to the main repository, January 2010–
July 2015. Figure 3 reports commits
per week to Google’s main repository
over the same time period. The line
for total commits includes data for
c Google open sourced a subset of its internal
build system; see http://www.bazel.io
both the interactive use case, or hu-
man users, and automated use cases.
Larger dips in both graphs occur dur-
ing holidays affecting a significant
number of employees (such as Christ-
mas Day and New Year’s Day, Ameri-
can Thanksgiving Day, and American
Independence Day).
In October 2012, Google’s central
repository added support for Windows
and Mac users (until then it was Linux-only), and the existing Windows and
Mac repository was merged with the
main repository. Google’s tooling for
repository merges attributes all historical changes being merged to their original authors, hence the corresponding
bump in the graph in Figure 2. The effect of this merge is also apparent in
Figure 1.
The commits-per-week graph shows
the commit rate was dominated by
human users until 2012, at which
point Google switched to a custom-