Schoenitzer.de  - - -  Linux:   Linux Kernel Statistiken - Linux Kernel Hacker - Linux-Nutzer-Liste
Main-Page

ENEnglisch version.

Linux Kernel Statistiken

Ältere Linux Versionen

Anzahl der Quelltext-Zeilen

Die Anzahl der Zeilen in den Quelltext-Dateien.

Zeilenlänge der alten Kernel-Versionen

Quelle:

  find . -name *.[hcS] -not -regex '\./\.git.*' | xargs cat | wc -l

Anzahl der Dateien

Anzahl der Dateien aus denen der Kernel besteht. Hier werden im Gegensatz zur obigen Grafik alle Dateien berücksichtigt.

Anzahl der Dateien der alten Kernel-Versionen

Quelle:

  find . -type f -not -regex '\./\.git/.*' | wc -l 



Letzte Linux Versionen

Anzahl der Quelltext-Zeilen

Die Anzahl der Zeilen in den Quelltext-Dateien.

Korrekte Skalierung: Besser sichtbar skaliert:
Zeilenlänge der letzten Kernel-Versionen Zeilenlänge der letzten Kernel-Versionen

Zeilenwachstum

Dies gibt an um wie viele Zeilen der Kernel gewachsen ist. Bitte beachten Sie, dass dies nur die Größe des Kernel vergleicht. Da auch viele Zeilen gelöscht werden, entspricht diese Differenz also nicht der Anzahl der neu hinzugefügten Zeilen. Eine genauere Differenzierung der hinzugefügten und entfernten Zeilen finden Sie unten. Hier werden nur die Quelltext-Dateien berücksichtigt. Anmerkungen zur Entwicklungsdauer siehe unten.
Absoluter Zeilenwachstum: Zeilenwachstum pro Tag Entwiklungsdauer:
Absoluter Zeilenwachstum Zeilenwachstum pro Tag Entwiklungsdauer

Zeilenwachstum pro Tag Entwiklungsdauer:

Zeilenwachstum pro Tag Entwiklungsdauer

Quelle:

  find . -name *.[hcS] -not -regex '\./\.git.*' | xargs cat | wc -l


Anzahl der Dateien

Anzahl der Dateien aus denen der Kernel besteht. Hier werden im Gegensatz zu den obigen Grafiken (zur Zeilenanzahl) alle Dateien berücksichtigt.

Korrekte Skalierung: Besser sichtbar skaliert:
Anzahl der Dateien der letzten Kernel-Versionen Anzahl der Dateien der letzten Kernel-Versionen

Quelle:

  find . -type f -not -regex '\./\.git/.*' | wc -l 


Anzahl der Commits

Anzahl der Commits die im Git-System eingegangen sind.
Absolute Anzahl der Commits: Commits pro Tag Entwiklungsdauer:
Anzahl der Commits der letzten Kernel-Versionen Anzahl der Commits der letzten Kernel-Versionen bezogen auf die Entwicklungsdaue

Quelle:

  git-log --no-merges --pretty=oneline v2.6.$last..v2.6.$1 | wc -l 


Dauer der Entwicklung

Gibt an wie viele Tage zwischen dem Erscheinen einer Kernelversion und der vorherigen vergangen ist. Bitte beachten Sie, dass die Entwicklung während dieser Zeit Schubweise abläuft. Größere Änderungen werden nur im etwa zweiwöchigen "Merge Window" eingepflegt; danach werden nur noch Fehlerkorrekturen und kleinere Änderungen übernommen. Bitte beachten Sie des weiteren, dass die meisten Patches bereits lange im Vorhinein entwickelt und getestet (beispielsweise in Mortons -mm-Tree) werden. Dauer der Entwicklung

Quelle:

  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)


Anzahl der Entwickler und Firmen

Das erste Diagramme gibt an, wie viele Entwickler an der Entwicklung dieser einen Version mitgewirkt haben. Das zweite Diagramm gibt an, von wie vielen Firmen bekannt ist, dass sie mindestens einen der Entwickler (aus dem ersten Diagramm) für die Arbeit am Kernel bezahlt hat. Bitte beachten Sie, dass beide Diagramme nur die Entwicklung von dem jeweiligem Kernel angibt - also nicht die gesamte Anzahl der Entwickler die mit geholfen haben. So haben an den Kernel-Versionen 2.6.13 bis 2.6.25 insgesamt 3.810 verschiedene Entwickler und 257 (bekannte) Firmen mitgearbeitet. Bei der zweiten Grafik ist des weiteren noch zu beachten, dass bei einem nicht zu unterschätzendem Anteil der Entwickler, nicht bekannt ist ob - und falls für welche - Firma sie arbeiten.
Anzahl Entwickler: Anzahl der Firmen die Entwickler beschäftigen:
Anzahl der Entwickler die mitarbeiten Anzahl der Firmen die bekannterweise mitarbeiten.

Quelle:

  git log -p v2.6.$last..v2.6.$1 | ./gitdm -u -o "$path/stat2.6.$1" 2> /dev/null 1> /dev/null


Diffstat

Der Diffstat gibt an wieviele Zeilen hinzugefügt (rot) und entfernt (grün) wurden und wieviele Dateien bearbeitet wurden (blau).

Diffstat Diffstat

Quelle:

  git diff --shortstat v2.6.$last..v2.6.$1





Daten zur aktuellen Linux Version

Folgendes bezieht sich nur auf Minorreleases (2.6.xx). Bugfix-Releases (2.6.xx.y) werden hier nicht berücksichtigt.

Kernel Version: 2.6.27
Erschienen am: 09 Oct 2008
Zeilen der Quelltextdateien: 8.690.888
davon
Codezeilen: 5.403.859 (62 %)
Leerzeilen: 1.909.206 (22 %)
Kommentarzeilen: 1.377.823 (16 %)
Zeilen aller Dateien: 9.629.957
Dateien: 24.353
Quelltext-Dateien: 20.759
Durchschnittliche Länge der Quelltext-Dateien: 419 Zeilen
Durchschnittliche Länge der Dateien: 395 Zeilen
absoluter Quelltext-Zeilenwachstum: +154.955
relativer Quelltext-Zeilenwachstum: 1,8 %
Commits
gesamt: 10.628
pro Tag: 120
pro Stunde: 5,1
Entwicklungsdauer: 88 Tage (=12 Wochen)
Entpackte Datei-Größe: 327 MB
.tar.gz-Datei-Größe: 61 MB
.tar.bz2-Datei-Größe: 48 MB
Diffstat: 15127 files changed, 1131171 insertions(+), 912939 deletions(-)
Entwickler (nur dieses Release): 1.103 (Daten von 2.6.26!)
Entwickelnde Firmen (nur dieses Release): 133 (Daten von 2.6.26!)
Entwickler seit 2.6.12: 4.057 (Daten von 2.6.26!)
Entwindende Firmen seit 2.6.12: 258 (Daten von 2.6.26!)
Maintainer: Linus Torvalds
Entwickler mit den meisten
Änderungen (changesets) in dieser Version: (Daten von 2.6.26!)
Harvey Harrison2192.1%
Bartlomiej Zolnierkiewicz2041.8%
Glauber Costa1951.8%
Adrian Bunk1821.7%
Joe Perches1601.6%
Firmen (Arbeitgeber) mit den meisten
Änderungen (changesets) in dieser Version: (Daten von 2.6.26!)
(Unknown)312529.8%
(None)105710.1%
Red Hat9669.2%
Novell5925.6%
IBM5705.4%
Verteilung der Dateien:
Core 1.668 6,85 % Verteilung der Dateien
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 %
Länge der Dateien je nach Typ
Verteilung der Zeilen:
Core 420.459 4.84 % Verteilung der Zeilen
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 %
Programmiersprache: C
Lizenz GPLv2
Website: Kernel.org
Download: tar.bz2; sign
tar.gz; sign

Zukunft

Folgende Daten sind Vorhersagen basierend auf der Entwicklung der letzten Versionen. Es wurden unterschiedliche Vorhersage-Modelle zur zukünftigen Entwicklungsgeschwindigkeit gewählt.

Meilenstein Berechnungsweise / Daten Wird erreicht am:
9 Mio. Zeilen Durchschnitt / 2.6.[11-25] 29. Februar 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 Mio. Zeilen Durchschnitt / 2.6.[11-25] 7. August 2010
2.6.25 20. Juni 2009
NIST Hahn / 2.6.[11-25] 02. März 2009
Polynom 4. Grad / 2.6.[11-25] 21. Februar 2009

15 Mio. Zeilen Durchschnitt / 2.6.[11-25] 18. Oktober 2018
2.6.25 19. Februar 2014
NIST Hahn / 2.6.[11-25] 21. März 2010
Polynom 4. Grad / 2.6.[11-25] 11. Oktober 2009

25 Tausend Dateien Durchschnitt / 2.6.[11-25] 13. November
2.6.25 29. August






<top> - Main-Page



Creative Commons License
" Linux Kernel Statistiken" von Michael Florian Schönitzer steht unter einer Creative Commons Namensnennung-Weitergabe unter gleichen Bedingungen 3.0 Deutschland Lizenz.

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

Creative Commons License Dieses Seite von Michael F. Schönitzer steht unter einer Creative Commons Namensnennung-Weitergabe unter gleichen Bedingungen 3.0 Deutschland Lizenz. Über diese Lizenz hinausgehende Erlaubnisse können angefragt werden.