Saturday, May 12, 2012

Galacticus Statistics Page

Sometimes procrastination can have interesting results... I was avoiding diving back into a debugging session earlier in the week and so finally finished putting up a simple web page showing a few interesting statistics on the Galacticus project.

The page currently shows three charts (these are annotated timelines powered by Google - easy to use and a nice way to show this information, even if they are Flash based....).

The first chart shows Galacticus revision number (i.e. the latest entry in its Bazaar archive as a function of time). Turns out that we average about 1.1 commits per day!

The second chart shows source lines of code (measured with the excellent SLOCCount, augmented by my own count of embedded directives for the build system). There's been about 20k of new lines added in the past year, brining in a lot of new functionality. I'm hoping to see this curve drop significantly in the next few months as I merge in some very substantial changes to the way in which Galacticus stores and manipulates the objects that it uses to represent galaxies.

Finally, the third chart shows the total instruction fetch count (measured by callgrind) for a simple Galacticus model that gets run automatically every day to benchmark the code. I've only been saving this data for the past few weeks, but already there's a noticeable decline due to a few recent optimizations. This is another line that I'm hoping to see drop significantly - there are a few patches waiting to merge in that should improve performance (particularly when running under OpenMP).