User: Password:
Subscribe / Log in / New account

Older trees

Older trees

Posted Feb 17, 2010 17:57 UTC (Wed) by eli (guest, #11265)
In reply to: Older trees by corbet
Parent article: How old is our kernel?

I think pulling in additional history could prove very interesting, so when you get a bit of free time.... ;)

I am picturing a different graph that I think might tell us more about kernel development than the bar graphs above.

The Y-axis would be the absolute number of lines of code, and the X-axis would be kernel releases.

Each kernel release would have a line that started at its release number. You'd have the total number of lines in the kernel marked for 2.6.12.
Then you'd draw a line to the 2.6.13 release to show how many lines of 2.6.12 remained in 2.6.13, and you'd start a new line for 2.6.13 showing the total number of lines in 2.6.13. Each new release would add a new line on the graph. It should look a bit like strata layers or something.

Over time, you should see some patterns in how the releases get replaced over time. If one release was particularly badly done, we'd see it start out with a large number of lines of code at its release, and see it rapidly squeezed to a small number of lines of code by later releases.

I wonder if there is such a thing as a "code half-life"...

(Log in to post comments)

Older trees

Posted Feb 19, 2010 22:32 UTC (Fri) by aegl (guest, #37581) [Link]

The current git history looks too short to tell whether the speed of code
removal follows a "half-life" curve. We still have 58.6% of the git origin
(2.6.12-rc2) code present in the current kernel (it only makes up 30.5% of
the current code because the kernel is almost twice as large now).

Here's a graph showing growth of the kernel, and decline of the original

Older trees

Posted Feb 22, 2010 17:04 UTC (Mon) by aegl (guest, #37581) [Link]

Here's the "strata" picture you asked for:

The lowest line is the 2.6.12-rc2 git origin. Count up from there
to 2.6.32 at the top. Scripts were run with current tip of "linus"
tree at v2.6.33-rc8-113-gf8b55f2 so it doesn't take into account the
320 lines of code added and 149 deleted over the weekend.

Visually there does seem to be an inflection point around 2.6.27
where we slowed down at deleting old code (perhaps because there
was so much new code to be deleted instead?)

Older trees

Posted Feb 22, 2010 17:40 UTC (Mon) by nix (subscriber, #2304) [Link]

Oh, that's a lovely graph.

I wonder if the inflection point can be attributed to the staging tree?
(That's certainly a lot of new crap^Wcode to be deleted...)

Older trees

Posted Feb 26, 2010 0:26 UTC (Fri) by robert_s (subscriber, #42402) [Link]

With this graph, sir, you have read my mind.

Older trees

Posted Feb 26, 2010 14:44 UTC (Fri) by eli (guest, #11265) [Link]

Thank you, sir!

'Course, now I need to stare at it for an hour looking for all the interesting things it's trying to tell me. ;)

Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds