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.

A nit about the tests:

The java benchmark is using the Reader/Writer classes rather than their InputStream/OutputStream counterparts. Reader and Writer are performing unicode conversions, which is apparently having a major impact. Switching to the InputStream/OutputStream classes with the 1.4.2 jvm (-server option) on linux gave the IO portion of the benchmark a 24% speed boost.

I would also recommend that for this benchmark, rather than calling FileWriter.write(yourString), you do something more akin to:

byte[] b = yourString.getBytes();
(loop) {
yourFileOutputStream.write(b);
...
}

I believe that such a change would make the java IO portion of the benchmark more fair.

- Marty