Update on port histogram diff
The conversion is complete. A few changes were made in the implementation, for example, some changes were due to the way line ranges were being handled. I also missed out on differences in the ranges for types, as I developed on a 64-bit machine (Java's types are 64-bit). This is fixed already.
Some stats:
$ time sh org.eclipse.jgit.pgm/target/jgit log -M -p >/dev/null
real 0m5.146s
user 0m1.869s
sys 0m0.215s
$ time /git/git log --histogram -M -p >/dev/null
real 0m8.975s
user 0m0.000s
sys 0m0.015s
$ time /git/git log -M -p >/dev/null
real 0m8.819s
user 0m0.000s
sys 0m0.031s
As you can see, JGit is still ahead, and the histogram algorithm in CGit is almost on par with the default Meyer's algorithm in CGit.
I'm now looking at trying to rework the LCS code - maybe I could squeeze something out of that.