Notes on making JGit (Java Git) fast
article.gmane.org
article.gmane.org
Also, git spends a lot of time doing IO -- waiting for your hard drive to spin around is as fast in C as in Java.
(BTW, this is not advocacy for Java, rather, it's advocacy against using C when extremely good languages, like Haskell and Lisp are nearly as fast and are much easier to write.)
Edit: Ob-shootout-link: http://shootout.alioth.debian.org/u32q/benchmark.php?test=al...
For these benchmarks, Java is as fast as gcc. Git is a different workload, so I'm sure JGit is not equally fast as C-git, but it's not going to be unusably slow either. (As time goes on, C is a solution to fewer and fewer problems.)
LE: I am a Ruby developer and know what "fast enough" is. Also I know that Java/JVM is quite fast, JRuby is sometimes faster than Ruby 1.9.
But they've done it by optimizing hell out of Java - it's far from idiomatic java, more like the C-style java you see in the standard Java libraries (but to be fair, C-Git has also had hell optimized out of it).