Main-Page

DEDeutsche Version.

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.

Number of lines of the source code in historical version

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.

Number of files the historical kernel versions consists of

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:
The number of lines of the latest kernel-versions The number of lines of the latest kernel-versions

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:
Absolut Incrementation Incrementation per day

Incrementation per day of development:

Incrementation per day

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:
Number of files the latest kernel-versions consists of Number of files the latest kernel-versions consists of

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:
Absolute number of Commits in latest kernel versions Number of daily commits in latest kernel versions

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). Duration of development

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 and employers

The first graph shows the number of developers, who have contributed code to a given kernel release. The second graph shows the number of companies of wich it is known, that they employ one or several developers for their work. Please notice that this only includes the developers of one version. Over-all from version 2.6.13 to 2.6.25 there have been active 3.810 different developers and 257 employers. For the second graphic it should be noticed that for quite some developers it it not known, whether they are paid for their work.
Number of developers: Number of known companies employing developers:
Number of developers Number of companies of which is known, to participate

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).

Diffstat Diffstat

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): 1.103 (value of 2.6.26)
Employers (this release only): 133 (value of 2.6.26)
Developers since 2.6.12: 4.057 (value of 2.6.26)
Employers since 2.6.12: 258 (value of 2.6.26)
Maintainer: Linus Torvalds
Developers with most
edits (changesets) in this version: (values of 2.6.26)
Harvey Harrison2192.1%
Bartlomiej Zolnierkiewicz2041.8%
Glauber Costa1951.8%
Adrian Bunk1821.7%
Joe Perches1601.6%
Companies (Employers) with most
edits (changesets) in this version: (values of 2.6.26)
(Unknown)312529.8%
(None)105710.1%
Red Hat9669.2%
Novell5925.6%
IBM5705.4%
Allocation of files:
Core 1.668 6,85 % Allocation of files
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 %
Length of files depending on it's type
Allocation of lines:
Core 420.459 4.84 % Allocation of lines
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 GPLv2
Website: Kernel.org
Download: tar.bz2; sign
tar.gz; sign

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






<top> - Main-Page



Creative Commons License
Linux Kernel Statistics by Michael Florian Schönitzer is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.

Valid HTML 4.0 Transitional

Valid HTML 4.0 Transitional
Die 3 Fehler sind auf einen bekannten Fehler im Validator zurückzuführen.