Search code examples
javajvmbytecodejavacpremature-optimization

Java bytecode compiler benchmarks


Q.1. What free compiler produces the most optimal Java bytecode?

Q.2. What free virtual machine executes Java bytecode the fastest (on 64-bit multi-core CPUs)?

Q.3. What other (currently active) compiler projects are missing from this list:

Q.4. What performance improvements can compilers do that JITs cannot (or do not)?

Q.5. Where are some recent benchmarks, comparisons, or shoot-outs (for Q1 or Q2)?

Thank you!


Solution

  • Q.1. What free compiler produces the fastest executable Java bytecode?

    Question doesn't really make sense. The bytecode is not executed. The compiled bytecode will not be different enough to influence the efficiency of the produced machine code when using a good JIT.

    Q.2. What free virtual machine executes Java bytecode the fastest (on 64-bit multi-core CPUs)?

    This is a better question. I believe it's JRockit

    Q.3. What other (currently active) compiler projects are missing from this list:

    I believe you missed out JRockit. But for a more complete list, I'd look at Wikipedia: List of Java Virtual Machines. Looking up whether or not they're active should be an easy task.

    Q.4. What performance improvements can compilers do that JITs cannot (or do not)?

    Technically none I suppose. The bytecode compilation is basically the wrong place to put the effort when it comes to optimization.

    Q.5. Where are some recent benchmarks, comparisons, or shoot-outs (for Q1 or Q2)?

    Google is your friend here. These are two:

    unfortunately those don't cover that many VMs.