Linux Kernel Statistics
Historical Linux versions
Number of lines of the source code
Number of lines in the source-code files. Including empty lines and comments.
Source:
find . -name *.[hcS] -not -regex '\./\.git.*' | xargs cat | wc -l
Number of files
Number of files the kernel consisting of. In contrast to the upper graphic this includes all types of files.
Source:
find . -type f -not -regex '\./\.git/.*' | wc -l
Latest Linux versions
Number of lines
Number of lines in the source-code files. Including empty lines and comments.
Right scale:
Scaled for improved visibility:
Increase of lines This shows the increase of the source code in lines per version. Please notice, that this compares only the length of the kernel. A lot of lines are deleted, rewritten or changed by the kernel hackers - so this is not equal to the number of new lines. More detailed data about added and removed lines can be found
here.This graphic also includes only the source-files. For description about the development-time take a look at
this.
Absolut Incrementation:
Incrementation per day of development:
Incrementation per day of development:
Source:
find . -name *.[hcS] -not -regex '\./\.git.*' | xargs cat | wc -l
Number of files
Number of files the kernel consists of. In contrast to the upper graphics (number of lines) this includes all types of files.
Right scale:
Scaled for improved visibility:
Source:
find . -type f -not -regex '\./\.git/.*' | wc -l
Number of commits Number of commits registered by Git.
Absolute number of Commits:
Commits per day of development:
Source:
git-log --no-merges --pretty=oneline v2.6.$last..v2.6.$1 | wc -l
Duration of development Shows the time between two releases. Please notice, that during this time the developing happens in batches. Lager edits are only included during the "Merge Window" of two weeks; after this only minor edits and bug improvements are included. Please notice furthermore that most patches are developed and tested antecedent (as an example in Morton's mm-tree).
Source:
date=$(w3m http://www.eu.kernel.org/pub/linux/kernel/v2.6/ | grep linux-2.6.$1.tar.gz | grep -v sign | awk '{print $2 }')
dateold=$(w3m http://www.eu.kernel.org/pub/linux/kernel/v2.6/ | grep linux-2.6.$last.tar.gz | grep -v sign | awk '{print $2 }')
time1=$(echo `date -d $date +'%j'` - `date -d $dateold +'%j'` | bc)
Number of developers:
Number of known companies employing developers:
Source:
git log -p v2.6.$last..v2.6.$1 | ./gitdm -u -o "$path/stat2.6.$1" 2> /dev/null 1> /dev/null
Diffstat
The Diffstat shows added (red) and deleted (green) lines and the number of changed files (blue).
Source:
git diff --shortstat v2.6.$last..v2.6.$1
Facts about the current Linux Version
This only deals with Minorreleases (2.6.xx) - Bugfix-Releases (2.6.xx.y) are ignored.
Kernel Version:
2.6.27
Release Date:
09 Oct 2008
Lines in source-code files:
8.690.888
thereof
Code:
5.403.859 (62 %)
Empty lines:
1.909.206 (22 %)
Comments:
1.377.823 (16 %)
Lines of all files:
9.629.957
Files:
24.353
Source-code Files:
20.759
Average length of a source-code file:
419 Zeilen
Average length of a file:
395 Zeilen
absolute increment of lines of code:
+154.955
relative increment of lines of code:
1,8 %
Commits
total:
10.628
per day:
120
per hour:
5,1
Duration of development:
88 days (=12 weeks)
Unpacked file size:
327 MB
.tar.gz-file size:
61 MB
.tar.bz2-file size:
48 MB
Diffstat:
15127 files changed, 1131171 insertions(+), 912939 deletions(-)
Developers (this release only):
Employers (this release only):
Developers since 2.6.12:
4.057 (value of 2.6.26)
Employers since 2.6.12:
258 (value of 2.6.26)
Developers with most
edits (changesets) in this version: (values of 2.6.26)
Harvey Harrison
219
2.1%
Bartlomiej Zolnierkiewicz
204
1.8%
Glauber Costa
195
1.8%
Adrian Bunk
182
1.7%
Joe Perches
160
1.6%
Companies (Employers) with most
edits (changesets) in this version: (values of 2.6.26)
(Unknown)
3125
29.8%
(None)
1057
10.1%
Red Hat
966
9.2%
Novell
592
5.6%
IBM
570
5.4%
Allocation of files:
Core
1.668
6,85 %
Drivers
7.889
32,39 %
Architecture
11.014
45,23%
Network
1.257
5,16 %
Filesystems
1.345
5,52 %
Miscellaneus
1.308
5,37 %
Allocation of lines:
Core
420.459
4.84 %
Drivers
5.013.991
56.25 %
Architecture
1.959.372
22.54 %
Network
579.721
6.67 %
Filesystems
773.282
8.90 %
Miscellaneus
27.161
0.33 %
Language:
C
License
Future
These are different forecasts based on the development of the last versions. I used different models for estimating the developing speed of development.
Milestone
Model / Data
Reached at the:
9 Million lines
Average / 2.6.[11-25]
29. February 2009
2.6.25
26. September 2008
NIST Hahn / 2.6.[11-25]
28. September 2008
Polynom 4. Grad / 2.6.[11-25]
14. Spetember 2008
10 Million lines
Average / 2.6.[11-25]
7. August 2010
2.6.25
20. June 2009
NIST Hahn / 2.6.[11-25]
02. March 2009
Polynom 4. Grad / 2.6.[11-25]
21. February 2009
15 Million lines
Average / 2.6.[11-25]
18. October 2018
2.6.25
19. February 2014
NIST Hahn / 2.6.[11-25]
21. March 2010
Polynom 4. Grad / 2.6.[11-25]
11. October 2009
25 thousand files
Average / 2.6.[11-25]
13. November
2.6.25 2008
29. August 2008
Die 3 Fehler sind auf einen bekannten Fehler im Validator zurückzuführen.