A practitioner report on the evaluation of the performance of the C, C++ and Java compilers on the OS/390 platform

The performance of C, C++ and Java/sup TM/ applications on the OS/390(R) platform is becoming an increasingly important issue as customers consolidate their server applications written in these languages on an OS/390 POSIX compliant system. With applications that run on multiple platforms such as the Lotus(R) Domino/sup TM/ Server and SAP R/3 AppServer, customers have the ability to compare actual applications instead of benchmarks across these platforms. The code generated by the C, C++ and Java compilers is critical for the performance of many of these applications. However, doing performance measurements and analysis on these large applications can be extremely difficult, so we use industry standard compute-intensive benchmarks to measure and analyze the performance of the code generated by the C, C++ and Java compilers. This paper briefly describes the activities performed by the authors to evaluate the performance of the code generated by the C, C++, and Java compilers on the OS/390 platform. It particularly describes the performance objectives, the benchmarks used, the performance evaluation methodology, performance analysis, and some normalized results. The term Java compiler in this paper refers to the IBM VisualAge(R) for Java, Enterprise Edition for OS/390 compiler that takes the platform-independent byte-code and translates it into machine native object code that can then be bound into executable modules, as is done for other high-level languages. The resulting code is executed under the VisualAge for Java, Enterprise Edition run-time library rather than in a Java virtual machine (JVM).