LLVM
IOT
Micro-services
Polyglot
Big data
JVM
GO
warmup 210ms
memory 17.8 MB
image 266 MB
warmup 20ms
memory 1.2 MB
image 15.1MB
JEP 295
Ahead-of-Time Compilation
JEP 317
Java-Based JIT Compiler
MaxineVM
meta circular
(depuis 2005)
Metropolis
java on java
Sulong
LLVM interops
Ahead Of Time (AOT)
Just In Time (JIT)
code
bytecode
compilateur JIT
VM
interpreteur JIT
Windows
Linux
Mac
code
compilateur AOT
Linux
Ahead Of Time (AOT)
Just In Time (JIT)
.java
.class
javac
JVM
Windows
Linux
Mac
.java
native-image
Linux
Truffle Polyglot API
Graal compiler
Substrate VM
JDK 9
JDK 10
C/ C++
Rust
Objective-C
Swift
Kotlin
Fils de GCC
AOT + JIT
Standalone
WebAssembly
IOS
Android
Â
Kotlin
Choose your side !
 Nécessite un framework (springboot, micronaut &co)
Stratégie commerciale Oracle
Â
Â
Â
exemple code
C from java https://gist.github.com/chrisseaton/5a80c19e945a5780d4e58c5af43e6969
Â
One VM to rule them all
Motivations  >  JIT vs AOT  >  GraalVM  >  LLVM  >  Limitations
     Deux refontes
full JAVAÂ vs C/C++/Assembleur
   licence vs libre
   Oracle vs Géants du web & mobile