News for hackers. Stuff that matters.
Re:A Deep Introduction to JIT Compilers: JITs are not very J... by ptx on Sunday July 05, 2020 @04:31PM (#23741677)
Isn't this because Java is designed for JIT compilation, or at least not designed (with the appropriate tweaking knobs) for AOT compilation?

Languages built with AOT compilation in mind (e.g. Rust or Nim) usually give you lots of ways make choices at compile time and give hints to the AOT compiler that the JIT compiler would instead try to infer at runtime in Java.

But by infering these things at runtime intead, maybe the JIT approach makes it easier to get fast code in those cases where you (as an application developer) don't want to put a lot of effort into optimization?

Re:A Deep Introduction to JIT Compilers: JITs are not very J... by pjmlp on Sunday July 05, 2020 @04:40PM (#23741765)
Java has had commercial implementations of AOT compilers since the early 2000.

Most compilers for embedded systems have always offered that option, and in what concerns enterprise JVMs, JIT compilers have had the capability to cache JIT code and PGO data between runs.

Both options that have come now to OpenJDK, OpenJ9 and Graal.

Android also learned the hard way that changing to pure AOT did not achieve the performance improvements that they expected, while compilation on device achieved C++ compile times when it was time to update all apps, hence the multi-tier interpreter/JIT/AOT with PGO introduced in Android 7.

The main problem of AOT compilation with PGO, is that first of all one needs a good dataset so that the optimizations are in line with the actual behaviour in production, still doesn't work across dynamic libraries so optimizations like devirtualization are not possible, and most of the time the tooling is quite cumbersome to use.

Re:A Deep Introduction to JIT Compilers: JITs are not very J... by seanmcdirmid on Sunday July 05, 2020 @04:58PM (#23741914)
Pretty sure assymetrix was done in the late 90s. 1998 or so, they started out doing educational software and pivoted to doing ahead of time compilation for some weird reason. Here is a link to when it failed in 1999: https://www.cbronline.com/news/sepercede_exits_java_sells_to...
Re:A Deep Introduction to JIT Compilers: JITs are not very J... by chrisseaton on Sunday July 05, 2020 @04:33PM (#23741707)
Yes... but then we're not comparing JIT/AOT anymore - we're comparing different language designs.