Announcement

Collapse
No announcement yet.

Falcon: A New, Faster JIT Compiler For Java/JVM

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

  • Falcon: A New, Faster JIT Compiler For Java/JVM

    Phoronix: Falcon: A New, Faster JIT Compiler For Java/JVM

    Last week Azul Systems released a new version of its Zing runtime for Java. With the new version of Zing comes a new JIT compiler dubbed "Falcon" for offering faster Java performance...

    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
    It isn't free... so it's automatically DOA. Especially in the Java community.

    Comment


    • #3
      It sounds like the only thing this thing speeds up is the JIT compilation (the wording seems to imply it speeds up the application as whole, but I think they actually mean if JIT uses less CPU, more is left to the application itself - typical marketing spin).
      Considering Java 9 is only a couple of months away and that it comes with AoT compilation, spending money on this doesn't look like the smart thing to do.

      Comment


      • #4
        Intel MPX support to offload the memory check?
        Developer of Ultracopier/CatchChallenger and CEO of Confiared

        Comment


        • #5
          How does it compare to other JVMs like Oracle, IBMs or Icedtea

          Comment


          • #6
            Originally posted by FireBurn View Post
            How does it compare to other JVMs like Oracle, IBMs or Icedtea
            From the article:
            - Falcon delivers substantial performance gains over Java’s legacy “C2” JIT compiler
            - Zing with Falcon achieves better application SLA metrics, reduces operating costs, and results in an improved customer experience
            If you want numbers, you'll probably have to ask for a quote.

            Comment


            • #7
              I haven't actually used any of Azul tools, but I've listened to their presentation about Transactional Synchronization Extensions (TSX) in Intel CPUs and how they applied them in their JVM to optimize certain multithreaded bottlenecks. It looks like they have some smart guys who know what they are doing. Back in the good old days, they had their own CPUs optimized to run Java code- and they had transactional memory. It looks like Intel finally caught up with that and offers these extensions in their CPUs. Apparently it's not that difficult to implement- CPU cache consistency/coherence mechanisms can be (ab)used to do it.

              Oh, btw, what about AMD and TSX? Ryzen doesn't have it, does it?

              I still think in most cases money is better spent on using OpenJDK or Oracle JDK, and optimizing your own software. But in certain cases, like low latency applications, or applications that have to randomly access lots of data quickly, or applications hat operate on huge datasets and they have to be in HEAP and cannot be memory-mapped files, I'd definitely consider their products.

              Regarding JIT- in low latency environment, if JIT compiler kicks in at the wrong time, you have problems. And AOT is not always an option, because with JIT compiler can make decisions based on some stats accumulated during runtime, unlike most AOT compilers.

              Comment


              • #8
                Originally posted by bug77 View Post

                From the article:


                If you want numbers, you'll probably have to ask for a quote.
                Ah C2 is part of Hotspot, from the description I thought it was what came before - "legacy"

                Comment


                • #9
                  Originally posted by atomsymbol

                  I tried jdk9 AoT some time ago, but it wasn't fully reliable at the time. Does somebody here know whether AoT works ok now?
                  Same, and does stuff like reflection function at all?:-)

                  Comment


                  • #10
                    Originally posted by Redfoxmoon View Post

                    Same, and does stuff like reflection function at all?:-)
                    If you have to worry about reflection, usually it's your code that needs a second look

                    Though looking at the JEP itself (http://openjdk.java.net/jeps/295) it seems there are quite a few limitations in this first iteration.

                    Comment

                    Working...
                    X