New JIT optimizer in the Zing JVM
I am wary of picking an argument with Gil Tene, who certainly knows his stuff, but I wonder about the AVX2 example.<p>The post makes it sound like Intel only contributes patches for new instruction sets to LLVM. But they are also active HotSpot contributors.<p>For instance, here&#x27;s a post from an Intel employee contributing optimisations to use AVX512:<p><a href="http:&#x2F;&#x2F;mail.openjdk.java.net&#x2F;pipermail&#x2F;hotspot-compiler-dev&#x2F;2016-May&#x2F;022790.html" rel="nofollow">http:&#x2F;&#x2F;mail.openjdk.java.net&#x2F;pipermail&#x2F;hotspot-compiler-dev&#x2F;...</a><p>I have no idea if HotSpot optimises the specific loop Gil posted, but I&#x27;ve seen Intel contribute a lot of upgrades to use AVX2 and AVX512, like optimised compression intrinsics. And as noted, LLVM is not really designed for Java and they had to spend three years putting in optimisations that Java-specific JITCs have had for a long time. How many contributions to LLVM will be directly applicable to Java, given that all the other contributors are focused on C++-style languages? Use of new instructions, sure, in some cases, but they aren&#x27;t going to contribute intrinsics for the Java APIs.<p>ReadyNow and C4 are very cool. Java has needed these for a long time and Zing users have been benefiting for a long time. However, Java 9 gets AOT compilation for some cases, which gives at least some of the benefit of ReadyNow (there is still warmup time, as HotSpot AOT does not cache profiles and re-profiles each time, but you get a lot closer to peak performance a lot faster). And Shenandoah is driving down pause times for huge heaps, which is where C4 shines.<p>That said, Java 9 has not yet shipped, and Zing has. So congrats to Gil Tene and his team. The competition between Zing and HotSpot only helps.