[Mono-list] Mono C# versus Java 6 -server performance
hulme at ebi.ac.uk
Thu Nov 29 09:55:23 EST 2007
> Out of 17 programs, Java was 9 x 1.xx times better, 2 x 2.xx times
> better and 2 times significantly better.
Here are the results:
regex-dna, Java 7.9x faster
pidigits, Java 6.1x faster
sum-file, Java 2.5x faster
mandlebrot, Java 2.2x faster
spectral-norm, Java 1.9x faster
startup, C# Mono 1.9x faster
fannkuch, Java 1.6x faster
n-body, Java 1.8x faster
binary-trees, Java 1.3x faster
k-nucleotide, Java 1.3x faster
thread-ring, Java 1.2x faster
fasta, Java 1.2x faster
recursive, Java 1.1x faster
nsieve-bits, Java 1.1x faster
nsieve, Equal performance
partial-sums, C# Mono 1.7x faster
reverse-complement, C# Mono 1.2x faster
As always, there are lies, damned lies, and benchmarks. Perhaps the kind
of programs we write aren't comparable with the spectral-norm benchmark
(or which ever one). However to get a feel of the performance
differences these benchmarks seem useful, and when I picked one to look
at (the Mandelbrot one) it wasn't obvious that there was a good reason
why the Java runtime should be 2.2x faster.
What's significant is open to interpretation. As I said in my other
reply, I'm a Ruby guy, so I'm not often arguing about performance ;-)
However 20%+ slower execution is significant to us (the group I work
in), if the Java and C# source is essentially comparable. I don't see a
good reason why the Mono versions are significantly slower either, I
assume the runtime/compiler in mono is less mature (that's a guess, I
sent this email in the hope I would be enlightened).
> These 2 programs
> (pidigits & regex-dna) are slow on Mono regardless of the
> language Mono is compared with.
> BTW, Java's pidigits uses native calls to gmplib (http://gmplib.org/).
> This is called cheating ;-)
OK, let's say they're special cases. That's fine. It still doesn't
explain why Java is 20%+ faster in most of the benchmarks though. For my
money it should be the same, or (if claims about CIL versus byte code
are to be believed) Mono should be faster.
The generation of random numbers is too important to be left to chance.
-- R. Coveyou
More information about the Mono-list