On Thu, 2010-07-01 at 13:24 -0600, Jonathan Corbet wrote: > > For sure the information contained in git logs don't measure how high-level > > the > > changes are being submitted, but it would be nice to devise some metrics, > > apart > > from the usual LOC, which could help us visualize the architectural impact > > caused by the big players. > > I've wanted such a metric for a long time. Lines of code is a terrible > metric for work done in general, even if you don't want to make a > distinction between "architectural" and other changes. Changeset > counts aren't really any better. Among other things, both create poor > incentives if people actually start to care about the numbers. > > That said, I've still not found a better way of trying to measure > "who's doing the work," especially in the context of a high-bandwidth > project like the kernel. If anybody has any ideas, I'm all ears...
What I have done in the past is correlate the functions changed by a developer against a callgraph (dynamic[1] or static) of the program. For example, functions deep in the callgraph get more weight and you can sum the weight of all the functions changed by a developer (This does not give much weight to the code of the mainloop which is still a critical piece of infrastructure but except for that, it's usually an interesting metric). I remember trying other per-function weights such as the number of functions calling the function or the number of functions called by the function or the size in bytes of the function but I don't remember if they were really relevant to the final ranking. What might be interesting is assigning a set of relative weights to these different weights to generate the final per-function weight and see if/how this changes the final ranking. I never got time to try this though. Mathieu [1]: I generated the dynamic callgraphs with this thing I wrote: http://cutebugs.net/bozo-profiler/ (there is a tarball to download) _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel