These are the old pages from the weblog as they were published at Cornell. Visit for up-to-date entries.

December 01, 2003

CLI-Grande Benchmarks Available

For those of you who have been tracking the Benchmarking the CLI for High-Performance Computing effort, I am happy to announce that finally the Section1 benchmarks are up on At this moment they are only available through the CVS tree. I need to write some accompanying text, fix some of the licensing text, add makefiles for non-windows platforms, and then package it.

Currently the Section1 suits holds the micro-benchmarks fromm the Java-Grande suite for CLI based VM's. There are three parts to the distribution:

  • Section1: this holds a straight conversion from the Java Benchmarks to the C#. This is hand-coded, not machine-converted.
  • Section1M: this holds the identical code as in section1, but now with all the tests in smaller methods instead of one large method. This improves the JIT performance of the CLI. The code being measured is NOT changed. Just the encapsulated method is different. See an earlier posting on this subject.
  • Section1J: the Java code packaged as a J# project.

There is one difference with the original Java code, I have added some floating point overflow avoidance code to the arithmetic benchmarks. If you download the original java benchmarks and compare the performance of that to CLI-Grande you'll notice that the CLI code runs much faster because it is not constantly handling floating point exceptions. You will need to add the same code to the Java-Grande benchmark to get a fair comparison. You can take the code from the arithmetic file from section1J project as template for what to change. For more details on the problem see an earlier positing on the floating point errors.

Posted by Werner Vogels at December 1, 2003 02:10 PM