SlideShare a Scribd company logo
2
Most read
4
Most read
13
Most read
RUN PROGRAMS FASTER ANYWHERE
CONTENTS
WHAT IS
GRAALVM?
HOTSPOT VM VS
GRAALVM
GRAALVM
ARCHITECTURE
WHY GRAALVM? USE-CASES
GRAALVM
A high-performance multilingual runtime. It is
designed to accelerate the execution of applications
written in Java and other JVM languages while also
providing runtimes for JavaScript, Ruby, Python, and
a number of other popular languages.
Know more at https://www.graalvm.org/
HotSpot VM vs GraalVM
• Graal is part of JDK from OpenJDK 9+ .
• Graal is the new JIT (Just in time)
compiler which will replace C2.
• Graal distinguishes between image
build time and image run time. At
image build time, a static analysis finds
all methods that are reachable from
the entry point of the application and
these methods are then ahead-of-
time compiled into a native image.
JIT vs AOT
Just-in-time Compiler Ahead-of-time Compiler
Compiles while running Compiles before running
Dynamic compilation Static compilation
Runtime information More resources
De-optimization Way more time
Typical for JVM Uncommon for JVM (JDK
9+)
GRAALVM
ARCHITECTURE
NATIVE
RUNTIME
• Substrate VM is an internal project name for the
technology behind GraalVM Native Image.
• Native Image is a technology to ahead-of-time compile
Java code to a standalone executable, called a native
image.
• GraalVM is a hybrid of static and dynamic runtimes.
GRAAL COMPILER DEMO
This demo example counts the number of uppercase characters in a body of text.
To simulate a large load, the same sentence is processed 10 million times:
PERFORMANCE
GRAPH
Loop C1 + C2 Graal
1 510 1581
2 375 480
3 365 364
4 368 231
5 348 196
6 370 121
7 353 116
8 348 116
9 369 116
0
1000
2000
0 2 4 6 8 10
Comparison
C1 + C2 Graal
WHY GRAALVM?
• Fast start-up Java Application:
Native
• Low footprint ahead-of-time
mode for JVM-based languages
• High performance for all
languages
• Convenient language
interoperability and polyglot
tooling
• Java as Language Platform
• Embedded Java Application
WHY NOT… ?
• No Dynamic class Loading / Unloading
• No JVMTI, Java Agents, JMX, JFR support
• Efficient only for smaller heap [Due to
serial GC]
• No thread dump and heap dump
support
• Opaqueness with reflection
• Generated native code is not fully
efficient while using profiling [Due to no
access for application runtime profile]
USECASES
SUBSTRATEVM
• Command-line tools
• Embedded / Constrained
devices (note: ARM is not supported
for SVM yet)
• Containerized environments where
raw performance is not the main
concern
JVM + GRAAL JIT COMPILER
• Services, Networked services, Micro-
services,
• Data processing applications where
performance is critical
• Alternative JVM languages
REFERENCES
• https://www.baeldung.com/graal-java-jit-compiler
• https://jponge.medium.com/the-graalvm-frenzy-
f54257f5932c
• https://www.graalvm.org/reference-
manual/native-image/Limitations/
• https://medium.com/graalvm/graalvm-native-
image-quick-reference-4ceb84560fd8
THANK YOU

More Related Content

PPTX
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
PPTX
Jenkins CI
Viyaan Jhiingade
 
PDF
Prometheus Overview
Brian Brazil
 
PPTX
Discover Quarkus and GraalVM
Romain Schlick
 
PPTX
Java 8 - Features Overview
Sergii Stets
 
PDF
Spring Native and Spring AOT
VMware Tanzu
 
PDF
Jenkins
Roger Xia
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Jenkins CI
Viyaan Jhiingade
 
Prometheus Overview
Brian Brazil
 
Discover Quarkus and GraalVM
Romain Schlick
 
Java 8 - Features Overview
Sergii Stets
 
Spring Native and Spring AOT
VMware Tanzu
 
Jenkins
Roger Xia
 

What's hot (20)

PPTX
How and Why GraalVM is quickly becoming relevant for developers (ACEs@home - ...
Lucas Jellema
 
PPTX
JVM++: The Graal VM
Martin Toshev
 
PDF
GraalVm and Quarkus
Sascha Rodekamp
 
PDF
GraalVM Native and Spring Boot 3.0
MoritzHalbritter
 
PPTX
Graal in GraalVM - A New JIT Compiler
Koichi Sakata
 
PDF
Running Spring Boot Applications as GraalVM Native Images
VMware Tanzu
 
PDF
Quarkus tips, tricks, and techniques
Red Hat Developers
 
PDF
Quarkus k8s
Georgios Andrianakis
 
PDF
Native Java with GraalVM
Sylvain Wallez
 
PDF
Spring GraphQL
VMware Tanzu
 
PPTX
Spring boot Introduction
Jeevesh Pandey
 
PDF
JVM Under The Hood WDI.pdf
Bartłomiej Żyliński
 
PDF
Graal and Truffle: One VM to Rule Them All
Thomas Wuerthinger
 
PDF
Introduction to Spring Cloud
VMware Tanzu
 
PDF
Gitops Hands On
Brice Fernandes
 
PDF
Apache Camel v3, Camel K and Camel Quarkus
Claus Ibsen
 
PDF
Gradle - the Enterprise Automation Tool
Izzet Mustafaiev
 
PPTX
Apache Camel K - Copenhagen
Claus Ibsen
 
PPTX
Introduction to Spring Boot
Purbarun Chakrabarti
 
How and Why GraalVM is quickly becoming relevant for developers (ACEs@home - ...
Lucas Jellema
 
JVM++: The Graal VM
Martin Toshev
 
GraalVm and Quarkus
Sascha Rodekamp
 
GraalVM Native and Spring Boot 3.0
MoritzHalbritter
 
Graal in GraalVM - A New JIT Compiler
Koichi Sakata
 
Running Spring Boot Applications as GraalVM Native Images
VMware Tanzu
 
Quarkus tips, tricks, and techniques
Red Hat Developers
 
Native Java with GraalVM
Sylvain Wallez
 
Spring GraphQL
VMware Tanzu
 
Spring boot Introduction
Jeevesh Pandey
 
JVM Under The Hood WDI.pdf
Bartłomiej Żyliński
 
Graal and Truffle: One VM to Rule Them All
Thomas Wuerthinger
 
Introduction to Spring Cloud
VMware Tanzu
 
Gitops Hands On
Brice Fernandes
 
Apache Camel v3, Camel K and Camel Quarkus
Claus Ibsen
 
Gradle - the Enterprise Automation Tool
Izzet Mustafaiev
 
Apache Camel K - Copenhagen
Claus Ibsen
 
Introduction to Spring Boot
Purbarun Chakrabarti
 
Ad

Similar to Introduction to GraalVM (20)

PDF
GraalVM - MadridJUG 2019-10-22
Jorge Hidalgo
 
PDF
GraalVM - OpenSlava 2019-10-18
Jorge Hidalgo
 
PDF
GraalVM - JBCNConf 2019-05-28
Jorge Hidalgo
 
PPTX
GraalVM - A Step Ahead of JVM Presentation
Knoldus Inc.
 
PDF
TechEvent Graal(VM) Performance Interoperability
Trivadis
 
PPTX
HOW TO CREATE AWESOME POLYGLOT APPLICATIONS USING GRAALVM
Owais Zahid
 
PDF
Polygot Java EE on the GraalVM
Ryan Cuprak
 
PDF
Javantura v4 - JVM++ The GraalVM - Martin Toshev
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
PDF
Introduction to Micronaut - JBCNConf 2019
graemerocher
 
PPTX
Magic with groovy & grails
George Platon
 
PDF
Peru JUG Micronaut & GraalVM
Domingo Suarez Torres
 
PPTX
Simple tweaks to get the most out of your JVM
Jamie Coleman
 
PPTX
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
David Voyles
 
PPTX
Simple tweaks to get the most out of your jvm
Jamie Coleman
 
PPTX
HOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOU
Lucas Jellema
 
PPTX
How and why GraalVM is quickly becoming relevant for you (DOAG 2020)
Lucas Jellema
 
PDF
20191119 Cloud Native Java : GraalVM
Taewan Kim
 
PDF
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
smalltown
 
PDF
Spring Boot 3 And Beyond
VMware Tanzu
 
PPTX
A tour of Java and the JVM
Alex Birch
 
GraalVM - MadridJUG 2019-10-22
Jorge Hidalgo
 
GraalVM - OpenSlava 2019-10-18
Jorge Hidalgo
 
GraalVM - JBCNConf 2019-05-28
Jorge Hidalgo
 
GraalVM - A Step Ahead of JVM Presentation
Knoldus Inc.
 
TechEvent Graal(VM) Performance Interoperability
Trivadis
 
HOW TO CREATE AWESOME POLYGLOT APPLICATIONS USING GRAALVM
Owais Zahid
 
Polygot Java EE on the GraalVM
Ryan Cuprak
 
Javantura v4 - JVM++ The GraalVM - Martin Toshev
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Introduction to Micronaut - JBCNConf 2019
graemerocher
 
Magic with groovy & grails
George Platon
 
Peru JUG Micronaut & GraalVM
Domingo Suarez Torres
 
Simple tweaks to get the most out of your JVM
Jamie Coleman
 
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
David Voyles
 
Simple tweaks to get the most out of your jvm
Jamie Coleman
 
HOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOU
Lucas Jellema
 
How and why GraalVM is quickly becoming relevant for you (DOAG 2020)
Lucas Jellema
 
20191119 Cloud Native Java : GraalVM
Taewan Kim
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
smalltown
 
Spring Boot 3 And Beyond
VMware Tanzu
 
A tour of Java and the JVM
Alex Birch
 
Ad

Recently uploaded (20)

PDF
Exploring AI Agents in Process Industries
amoreira6
 
PDF
Immersive experiences: what Pharo users do!
ESUG
 
DOCX
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
PPTX
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
PDF
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
PPTX
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PDF
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
PPTX
Maximizing Revenue with Marketo Measure: A Deep Dive into Multi-Touch Attribu...
bbedford2
 
PDF
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
PDF
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
PDF
Bandai Playdia The Book - David Glotz
BluePanther6
 
PDF
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PDF
An Experience-Based Look at AI Lead Generation Pricing, Features & B2B Results
Thomas albart
 
PDF
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
PPTX
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
Exploring AI Agents in Process Industries
amoreira6
 
Immersive experiences: what Pharo users do!
ESUG
 
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
Activate_Methodology_Summary presentatio
annapureddyn
 
Maximizing Revenue with Marketo Measure: A Deep Dive into Multi-Touch Attribu...
bbedford2
 
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
Bandai Playdia The Book - David Glotz
BluePanther6
 
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
An Experience-Based Look at AI Lead Generation Pricing, Features & B2B Results
Thomas albart
 
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 

Introduction to GraalVM

  • 2. CONTENTS WHAT IS GRAALVM? HOTSPOT VM VS GRAALVM GRAALVM ARCHITECTURE WHY GRAALVM? USE-CASES
  • 3. GRAALVM A high-performance multilingual runtime. It is designed to accelerate the execution of applications written in Java and other JVM languages while also providing runtimes for JavaScript, Ruby, Python, and a number of other popular languages. Know more at https://www.graalvm.org/
  • 4. HotSpot VM vs GraalVM • Graal is part of JDK from OpenJDK 9+ . • Graal is the new JIT (Just in time) compiler which will replace C2. • Graal distinguishes between image build time and image run time. At image build time, a static analysis finds all methods that are reachable from the entry point of the application and these methods are then ahead-of- time compiled into a native image.
  • 5. JIT vs AOT Just-in-time Compiler Ahead-of-time Compiler Compiles while running Compiles before running Dynamic compilation Static compilation Runtime information More resources De-optimization Way more time Typical for JVM Uncommon for JVM (JDK 9+)
  • 7. NATIVE RUNTIME • Substrate VM is an internal project name for the technology behind GraalVM Native Image. • Native Image is a technology to ahead-of-time compile Java code to a standalone executable, called a native image. • GraalVM is a hybrid of static and dynamic runtimes.
  • 8. GRAAL COMPILER DEMO This demo example counts the number of uppercase characters in a body of text. To simulate a large load, the same sentence is processed 10 million times:
  • 9. PERFORMANCE GRAPH Loop C1 + C2 Graal 1 510 1581 2 375 480 3 365 364 4 368 231 5 348 196 6 370 121 7 353 116 8 348 116 9 369 116 0 1000 2000 0 2 4 6 8 10 Comparison C1 + C2 Graal
  • 10. WHY GRAALVM? • Fast start-up Java Application: Native • Low footprint ahead-of-time mode for JVM-based languages • High performance for all languages • Convenient language interoperability and polyglot tooling • Java as Language Platform • Embedded Java Application
  • 11. WHY NOT… ? • No Dynamic class Loading / Unloading • No JVMTI, Java Agents, JMX, JFR support • Efficient only for smaller heap [Due to serial GC] • No thread dump and heap dump support • Opaqueness with reflection • Generated native code is not fully efficient while using profiling [Due to no access for application runtime profile]
  • 12. USECASES SUBSTRATEVM • Command-line tools • Embedded / Constrained devices (note: ARM is not supported for SVM yet) • Containerized environments where raw performance is not the main concern JVM + GRAAL JIT COMPILER • Services, Networked services, Micro- services, • Data processing applications where performance is critical • Alternative JVM languages
  • 13. REFERENCES • https://www.baeldung.com/graal-java-jit-compiler • https://jponge.medium.com/the-graalvm-frenzy- f54257f5932c • https://www.graalvm.org/reference- manual/native-image/Limitations/ • https://medium.com/graalvm/graalvm-native- image-quick-reference-4ceb84560fd8