public
Description: codemetre is able to produce source line count and comment line count for languages such as Ada95, C++, or Eiffel. It also proposes different models to measure effort between two versions of a file.
Home | Edit | New

Performance

Single measure

Here are a few measures I ran on my x86/64 system lately on the linux kernel 2.6.28.3 archive:

tool version C (loc) C++ (loc) total (loc) time (s)
codemetre 0.20.1 6,224,113 1,496 6,225,609 22
sloccount 2.26 6,219,846 3,306 6,223,152 62
cloc 1.07 6,240,191 1,496 6,241,687 191

sloccount uses sophisticated heuristics to determine the language in which is written a file. It also recognizes much more languages. This may explain why measures are similar but not identical. Nevertheless, what can be noticed is that codemetre is almost three times faster than sloccount!

cloc gives almost 20,000 loc more than other tools, even though it determines duplicates. This is a strange result.

Differential measure

I also wanted to compare 2.6.28.2 and 2.6.28.3 flavours of the linux kernel archives. So I used the following command with 0.20.1 release:


codemetre --diff --short linux.2.6.28.2/ linux.2.6.28.3/

On my x86/64 system, the command took less than 1 minute and a half to execute! The result is that between these two versions (and among the files recognized by codemetre):

  • 47 files have changed
  • 306 lines have been written (N-C)
  • 170 lines of the ancient version have been reworked or removed (A-C)
  • Kernel has grown up of 136 lines (N-A)
Last edited by seventh, Sun Mar 22 07:18:13 -0700 2009
Home | Edit | New
Versions: