"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.
"Five questions motivated me to design and run these benchmarks.
First, I was curious about how the performance of Java 1.4.2 (the
latest official version from Sun) compares to that of Microsoft's
relatively new .NET 2003 suite of languages. Both Java and the .NET
languages are 'semi-compiled' (or, looking at the flip side of the
coin, 'semi-interpreted'). By this I mean that source code is
compiled into intermediate-level code and then run by a combination
interpreter/just-in-time compiler. With Java, the intermediate
language is called bytecode and the interpreter/compiler is called
a Java Virtual Machine (JVM). Source code in the .NET world is
compiled into the Microsoft Intermediate Language (MSIL) and is run
on the .NET Common Language Runtime (CLR) engine..."