Following up on the benchmark from yesterday, I’ve produced a Java version of the queens benchmark (queens.java). Below is the updated graph. I have a suspision that the reason Mono and Java is performing so bad is not only due to exceptions, but rather it has something to do with garbage collection.
I also tried to improve the C++ version based on some hints I got from Asger and Søren (colleagues at Laerdal Sophus). The C++ improvements worked really well when we tested them at work with Visual Studio 6.0. But the improvements had absolutely no effect when compiling with gcc 3.4.1. Either gcc is very smart or very stupid. Something suggest the later as a quick test reveals that gcc version 3.4.1 is producing worse code than version 3.3.4, which in turn is producing worse code than version 3.2.3 . I guess that I’ll have to install Windows and the free Microsoft compilers, so that I can compare them against gcc and Mono.