Tuesday, March 08, 2011

Java Performance...

Java virtual machines are weird things. They can optimize code on the fly, tuning how it runs the code, depending on the data it processes. That is why it can be faster than C and C++, or even faster then Fortran. Those are all pre-optimized based on the code, not based on the workload. But, at the same time, performance is tricky, and your best friend is a good profiler (like YourKit, which is free for Open Source use).

Reading about Java performance now and then is useful. It's keep you aware of the things that matter and that don't. Via Planet Eclipse, I read a couple of posts from the Java Persistence Performance blog. And today I learned that the JIT compiler can in fact remove the threading support in Hashtable when only one thread is used.


  1. You should check out:

    The JIT world moves fast, so I don't know how up-to-date this is.

  2. The charts show a date - so not more up-to-date than that date (19 Mar 2011).

    The programs show "make, command-line, and program output logs" - so not more up-to-date than the date in the logs (02 Mar 2011).

    Each Java page shows version data - so not more up-to-date than:

    java version "1.6.0_24"
    Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
    Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)