JVMLS 2015 - Java Goes AOT
Why Hacker News recommends it
Cited in AOT discussions as evidence that Oracle was moving toward AOT in the JDK and as an explanation of the deoptimization concerns.
What it is
Christian Thalinger presents at the 2015 JVM Language Summit on adding ahead-of-time compilation to the JVM, covering the HotSpot team's AOT work and its relation to warmup and deoptimization.
Recommended by 0 HN commenters across 0 different months, 2015 to 2016.
What Hacker News said
Cites pjmlp · 2015-10 · on “Windows 10 and .NET Native”
There have been AOT compilers from third party JVM vendors almost since the begining. Used mostly by companies that didn't want to expose their bytecode. However Sun decided to bet the farm on JIT and was against having AOT compilation on the reference JDK. Meaning anyone that wanted a AOT toolchain for Java had to go shopping. Now, it appears Oracle is of a different opinion. "Java Goes AOT" at JVM Language Summit 2015 [this video] Being used to memory safe languages with AOT compilation like Turbo Pascal, Modula-2, Modula-3, Oberon, Delphi, Ada among many others, I also would have prefer that Java and .NET had offered the same type of toolchain from the beginning. Now almost 20 years later, we
Cites pjmlp · 2015-10 · on “Windows 10 and .NET Native”
Oracle is planning to finally add it to the standard JDK around Java 10 timeframe, but it might be a premium feature similar to the mission control licensing. [this video]
Cites the8472 · 2016-02 · on “JavaCPP”
Afaik IBM's JVM supports class data sharing, which effectively provides AOT behavior once they have been JITed. For oracle's VM they're working on a commercial feature [this video] There also are things like nailgun which simply prestart a JVM and then delegate to the loaded JVM when you invoke some command. It may be a bit of a workaround, but if your use-case is to frequently start extremely shortlived programs that might be worth it.
Cites sievebrain · 2016-05 · on “Scala Native”
Hi, What is the rationale for doing this, given that the Graal / JVM guys are already developing an AOT compiler which can compile Scala to native binaries? Is this motivated by performance? The desire to write C libraries in Scala? What? Given the high level, dynamic nature of Scala I am skeptical LLVM+Boehm GC will result in faster code. I expect it would result in slower code. EDIT: OK, I just saw the link to your talk below. I feel you should know a few things: 1) The Hotspot team are adding AOT compilation to the JVM. There is a talk on it here. This mostly eliminates warmup time: [this video] You can't eliminate warmup time entirely because profile guided on-the-fly optimisation is actually
Cites mike_hearn · 2016-10 · on “Ahead-of-Time Compilation”
There was a talk about it last year: [this video] The project seems to have gone slower than I expected, perhaps because Chris Thalinger moved to Twitter.
Cites mike_hearn · 2016-10 · on “Ahead-of-Time Compilation”
It's explained in the talk "Java goes AOT": [this video] Basically they thought it'd de-opt too much. I'm not totally sure it's the case but they'd be the experts on that.
Cites shagie · 2016-12 · on “Building a Production Server Swift App”
> Compiles to binary which could bring benefits depending on your needs (compared to JS, Java, Scala..) While its not there _yet_, JEP 295: Ahead-of-Time Compilation ( [LINK] ) is active, it was just updated last week, is targeted and a priority 1 item. I have reasonable confidence that it will get there in the near future. See also: JVMLS 2015 - Java Goes AOT [this video]