On Tue, 2014-07-22 at 10:55 +0000, Paulo Pinto via Digitalmars-d wrote: […] > The JVM JIT was originally targeted to SELF, not Java.
I think you'll find HotSpot evolved from a Smalltalk JIT originally. Borland and Semantec had JVM JITs as well, Sun even licenced the Semantec one for a while. […] > Functional programming languages have AOT compilers and they > perform quite well, almost to C level in many use case cases. True. Java/JVM/JIT also performs very well surpassing C in many cases. Indeed C++ surpasses C in many cases as well. > As for Groovy, I always felt the implementation was always > lacking in performance. True. Groovy is a dynamic language not intended for performance computation. However it now has static compilation to JVM bytcodes as well which leads to it being as fast or sometimes faster than Java. > I avoid touching Gradle. Your loss! For others: Gradle is becoming the de facto standard build framework for JVM-based things and also Android. […] > > I was discussing JIT vs AOT in abstract. The trouble is that this isn't a good way of discussing what is a performance issue that can only be decided by comparative benchmarks. > To be able to perform such a tests you need: > > - A programming language X In the case at hand X = Java. > - The state of the art JIT compiler implementation for the given > language I guess HotSpot is the default here, unless anyone has access to the IBM VM. > - The state of the art AOT compiler implementation for the given > language > > I know a few commercial AOT compilers for Java, not sure which > one would be the best one to choose. I am not sure which I would go with here as I have little experience of the high cost products. We'd have to get some sponsorship for the benchmarks. I will ask around the folks in the JVM performance community. > But the proof is Microsoft adding .NET Native to their toolchain, > Google replacing Dalvik with AOT and Oracle has added AOT > compilation (Substract) to Graal, the candidate to Hotspot > replacement. Graal isn't a replacement for HotSpot but a dynamic compilation technology to work with HotSpot. It is actually a very promising technology, I am looking forward to trying it out. > So apparently they all agree AOT still wins in many scenarios. Why is it one or the other? Having both AOT and JIT will likely do even better. Hence Graal on HotSpot. Certainly AOT putting the burden on compilation, ensures there is no start-up overhead, so is a benefit for short running systems. JIT has an initial (often large) overhead but once triggered produces highly performant (localized) code. Java is going to have to find the balance to stay up with the performance needed these days. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.win...@ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: rus...@winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
signature.asc
Description: This is a digitally signed message part