Home : Course Map : Chapter 10 : Java : Supplements :
Java Benchmarks
JavaTech
Course Map
Chapter 10

Introduction
Vector/Enumeration
Hashtable,HashMap
   Properties
Collections

Iterator/ArrayList
Generics
Preferences API
  Demo 1
Concurrency Utils
Enumerated Type
Arrays Class
String Tools
  String
  StringBuffer
  StringBuilder
  StringTokenizer
  String.split()

Calendar,Date,Time
  Demo 2
  Demo 3

Other Utilities
Exercises

    Supplements
Performance
Benchmarks
     About JavaTech
     Codes List
     Exercises
     Feedback
     References
     Resources
     Tips
     Topic Index
     Course Guide
     What's New

There does not exist an absolute benchmark for software performance. There are far too many variations in software languages, in their strengths and weaknesses, in the platforms they run on, in they way programs are written, etc.

Comparing C to Java can be difficult. For example, an algorithm implemented in C might vary considerably in speed according to how optimized the code is. Similarly, implementations of the algorithm in Java can vary greatly. So obviously this will all lead to a wide divergence in results when comparing C to Java implementations of that algorithm. Ideally, you would compare only the most highly optimized implementations of the algorithm in both languages but that can be difficult to arrange.

For Java there are also the challenges of comparing the same code run in different JVMs and on different platforms. A Just-in-Time compiler will need to convert the bytecode to local machine code during the first pass through a section of the program. Unless this section of code is run repetitively, there may not be much of a speed up. Similarly, a JVM like the Sun Hotspot needs a period of time to see what sections of code need to be optimized. This will again lead to poor initial performance but increasingly fast speeds as the program continues to run.

Nevertheless, benchmark comparisons can still give a general idea of how a language, JVM, etc. performs. Many efforts have been made, and continue to be made, to develop useful benchmarks for evaluating Java performance. The following links porint to a number of benchmark discussions and specifications:

See also the discussion in Chapter 24 on comparing hardware implementations of Java bytecode processing.

Most recent update: Mar.20, 2006

 

 

              Tech
ArbitaryPrecision
   BigInteger
  
BigDecimal
Bit Handling
Exercises

           Physics
Data Gen&Analysis

  Demo 1
  Demo 2
Exercises

  Part I Part II Part III
Java Core 1  2  3  4  5  6  7  8  9  10  11  12 13 14 15 16 17
18 19 20
21
22 23 24
Supplements

1  2  3  4  5  6  7  8  9  10  11  12

Tech 1  2  3  4  5  6  7  8  9  10  11  12
Physics 1  2  3  4  5  6  7  8  9  10  11  12

Java is a trademark of Sun Microsystems, Inc.