Announcement

Collapse
No announcement yet.

Some Early Tests Of The Eclipse OpenJ9 Java Virtual Machine

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Some Early Tests Of The Eclipse OpenJ9 Java Virtual Machine

    Phoronix: Some Early Tests Of The Eclipse OpenJ9 Java Virtual Machine

    With IBM's newly open-sourced J9 Java Virtual Machine as the Eclipse OpenJ9, I've run some quick benchmarks to get an idea how its performance is comparing to the de facto Java Virtual Machine, Hotspot.

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Maybe I should get back into Java...

    Comment


    • #3
      Thank you Michael! As someone who works in the Java industry it is great to see the performance differences between the implementations. Please continue doing Java benchmarks.

      Comment


      • #4
        Pretty much all tech Sun had has been on life support ever since Schwartz sold it out. Java is surely dying a slow and agonizing death. Wonder what the replacement's gonna be. To me it seems Go might be a worthy alternative, wonder about the future of .Net core too though.

        Comment


        • #5
          Hmm, I wonder how IBM justified developing J9 for so long, given how much worse than Hotspot its throughput is. Maybe it's a GC or jitter thing?

          Maybe J9 has better performance on POWER.
          Last edited by microcode; 18 September 2017, 08:40 PM.

          Comment


          • #6
            Never used J9 but if it is similar to OpenJDK or Oracle's then there would be jvm config options to tweak based on the type of application run.
            It isn't like Python fire and forget.

            I work with Java every single day for the last 15 years and have had to configure/tweak the jvm config arguments for every single application we deploy to suite its design. Knowledge of how to tweak the runtime dynamic optimizing compiler can really boost application performance which is why Oracle JVM and OpenJDK are sometimes faster than C++ for certain programs. I've heard that J9 is pretty good, but that's anecdotal on IBM power machines, not x86. Perhaps their jre for x86 isn't mature, or the defaults are subpar and need tweaking.

            J9 was initially designed for Enterprise-type large-scale applications for running load in the hundreds of thousands to billions in System-Z machines, then it needs time to get "hot" for the JVM to profile-analyse what part of the bytecode gets optimised. That "analyser" needs tweaking based on the application run.

            If the use-case fo J9 were to switch small consumer x86 pcs or small devices, you will definitely need to tweak the jvm config.

            OpenJDK is very mature for desktop-consumer type applications. So I am not surprised that it very easily beats J9 on defaults for short running applications.

            Comment


            • #7
              Originally posted by anarki2 View Post
              Pretty much all tech Sun had has been on life support ever since Schwartz sold it out. Java is surely dying a slow and agonizing death. Wonder what the replacement's gonna be. To me it seems Go might be a worthy alternative, wonder about the future of .Net core too though.
              Java is anything but dead. It may have waned in popularity because of languages like Scala and Clojure which make FP and its "resurrection" easier due to cheaper RAM and faster CPUs.... but it's far from dead. Not to be confused with Java, the JVM on the other hand is here to stay for about as long as Oracle and its customers are around as well as the billions of devices that run it...Java 8 also added more tools to make FP more tenable too... and 9 is around the corner too.

              Comment


              • #8
                What about memory consumption? Machines with light-load Java applications are mostly limited by amount of available memory, not by CPU computing power.

                Comment


                • #9
                  Originally posted by anarki2 View Post
                  Pretty much all tech Sun had has been on life support ever since Schwartz sold it out. Java is surely dying a slow and agonizing death. Wonder what the replacement's gonna be. To me it seems Go might be a worthy alternative, wonder about the future of .Net core too though.
                  Idiot, Go is nowhere near Java performance wise. This was just recently posted on reddit https://sites.google.com/view/energy...guages/results
                  Does it look like Go wins? It does not, it's a shitty language.

                  Comment


                  • #10
                    Originally posted by DanglingPointer View Post
                    Never used J9 but if it is similar to OpenJDK or Oracle's then there would be jvm config options to tweak based on the type of application run.
                    It isn't like Python fire and forget.

                    I work with Java every single day for the last 15 years and have had to configure/tweak the jvm config arguments for every single application we deploy to suite its design. Knowledge of how to tweak the runtime dynamic optimizing compiler can really boost application performance which is why Oracle JVM and OpenJDK are sometimes faster than C++ for certain programs. I've heard that J9 is pretty good, but that's anecdotal on IBM power machines, not x86. Perhaps their jre for x86 isn't mature, or the defaults are subpar and need tweaking.

                    J9 was initially designed for Enterprise-type large-scale applications for running load in the hundreds of thousands to billions in System-Z machines, then it needs time to get "hot" for the JVM to profile-analyse what part of the bytecode gets optimised. That "analyser" needs tweaking based on the application run.

                    If the use-case fo J9 were to switch small consumer x86 pcs or small devices, you will definitely need to tweak the jvm config.

                    OpenJDK is very mature for desktop-consumer type applications. So I am not surprised that it very easily beats J9 on defaults for short running applications.
                    So really to benchmark something appropriate for J9, you'd have to fire up a very high-memory application and run it for a lot of time, eh. That would certainly be a justifiable reason to maintain a separate JVM.

                    Comment

                    Working...
                    X