fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

11K
active users

@bagder I like this one most; shows replacement and addition in one graph.

@bagder @dascandy Out of curiosity, how did you create this one?

@bagder @hikhvar @dascandy Oh this is really nice! You've inspired me to generate this for the Linux kernel. The git blames are running now... I parallelized it, but it's still going to take a while! :)

@bagder @hikhvar @dascandy LOL. 102 Linux kernel tags, averaging 3 minutes per blame run (so far). 5 hours to generate the data. O_O

Kees Cook :tux:

@bagder @hikhvar @dascandy It's still running, but here's through 2018...

@bagder @kees @dascandy Very nice visualization! I see, that the Linux Kernel has less churn than curl, so once code is commited it is very likely to stay.

@hikhvar @bagder @dascandy Yeah, it's not as steep as with curl, but I'm starting to see it getting deeper with each segment. The 2016-2018 segment seems to eat into prior areas much more than the other year segments.

I'm so impatient! Blame, git, blame! ;)

@kees @bagder @dascandy That is true. But also the kernel code is placed on a very solid bedrock from the pre 2006 era.

@hikhvar @bagder @dascandy I'm curios to see how much of what's left from "start of git history" in Linux is blank lines and comments. :) I'll need a whole new scanner for that. :P

@kees @hikhvar @dascandy yeah, that's basically what I found in the curl code left from < 2000. Mostly comments and a few #ifdef/#defines.

@kees @bagder @dascandy another hypothesis: this graph will look differently for driver vs non-driver code in the Kernel. Once a driver is merged, and the hardware is some years in the market, it will not change anymore.

@hikhvar @bagder @dascandy Yeah, core vs driver might be interesting to split. I'll need to store file paths with the blame counts.

And on a spot-check for net/core/dev.c:
11089 lines
1118 from first commit
658 of those are comments or blanks

@kees @bagder @dascandy so 2006-2008 had an pretty low amount of added Code. What is more, there is very few lines still in the Kernel compared to earlier or the later period.

@hikhvar @kees @bagder @dascandy It' not that surprising considering <2004 includes code from 1991-2004 which is 13 years so 2006-2008 is not that small considering it's 6.5x smaller time period. Rapid growth after is kinda surprising tho.

@kees @hikhvar @dascandy compared to the curl graph, this has clearly kept more lines untouched

@kees @bagder @hikhvar @dascandy This is amazing. I wonder how hard would it be to add versions of Linux before 2004 to git. If I understand the script correctly (which is very unlikely) it checks for dates so it would require manually changing the git history to add correct dates. Which could probably be done using a shell script but it would probably be pretty hard to do.

@ljs @dascandy @bagder @hikhvar @tuzu Yeah, and others I found didn't have commit dates correctly mapped to authorship dates. 🤷

@pjcj @bagder @hikhvar @dascandy I'd have to double check but I'd guess an arch removal or staging stuff dropped?

@kees @bagder @hikhvar @dascandy Makes sense. There are a few smaller examples too over the years.

@kees @bagder @hikhvar @dascandy would be interesting to see how this looks if we exclude the massive pre-generated headers for AMDGPU.

@kees @bagder @hikhvar @dascandy The purple bump around 2010 is interesting: A lot of new code was added which has been removed again shortly after.