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 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: |
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 |
| ||||||||||||||||||||
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 |
| ||||||||||||||||||||
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) |
| ||||||||||||||||||||
Companies (Employers) with most edits (changesets) in this version: (values of 2.6.26) |
| ||||||||||||||||||||
Allocation of files: |
| ||||||||||||||||||||
Allocation of lines: |
| ||||||||||||||||||||
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 | |
Linux Kernel Statistics byMichael Florian Schönitzer is licensed under aCreative Commons Attribution-Share Alike 3.0 Unported License. |
|