Linked by Christopher W. Cowell-Shah on Thu 8th Jan 2004 19:33 UTC
General Development This article discusses a small-scale benchmark test run on nine modern computer languages or variants: Java 1.3.1, Java 1.4.2, C compiled with gcc 3.3.1, Python 2.3.2, Python compiled with Psyco 1.1.1, and the four languages supported by Microsoft's Visual Studio .NET 2003 development environment: Visual Basic, Visual C#, Visual C++, and Visual J#. The benchmark tests arithmetic and trigonometric functions using a variety of data types, and also tests simple file I/O. All tests took place on a Pentium 4-based computer running Windows XP. Update: Delphi version of the benchmark here.
Permalink for comment
To read all comments associated with this story, please click here.
More tests, and don't use the best of....
by Steve on Thu 8th Jan 2004 20:23 UTC

Please don't post the best of only 3 runs, it's silly to do so because you are not getting a good sample of data.

You should to have run more like 10 runs, especially because the micro-benchmarks that you have produced can be run automatically in the background many times withyou user intervention.

Then you should provide the mean and median of the runs, along with all the data from each run.

On the topic of the Java benchmark:
The Java tests you should use both the server vm and the client VM and compare results. The 2 vms are actually very different. The java benchmark isn't really doing much but testing the interpreter as I doubt that much of that code is actually being compiled to native code. I think that it's fairly well know that for short running programs Java is slow ( but for long running programs it's fairly competive). In the jave benchmark you shouldn't be using new Date().getTime() to get the time, you should instead use System.currentTimeMillis() as it is faster and doesn't involve the creation of more objects.