SlideShare ist ein Scribd-Unternehmen logo
1 von 34
GraalVM Native Image
how to speedup & significantly lower footprint of your app
by doing nothing*
Evgeny Hanikbloom @CommIt | 2022
GraalVM NoFJD
(Not Only for Java Developers ©)
Evgeny Hanikbloom @CommIt | 2022
GraalVM What is is
Evgeny Hanikbloom @CommIt | 2022
GraalVM is a universal virtual machine for running
applications written in JavaScript, Python, Ruby, R, JVM-
based languages like Java, Scala, Groovy, Kotlin, Clojure,
and LLVM-based languages such as C and C++.
GraalVM What is is
Evgeny Hanikbloom @CommIt | 2022
GraalVM Architecture
Evgeny Hanikbloom @CommIt | 2022
GraalVM What is is
Evgeny Hanikbloom @CommIt | 2022
GraalVM What is is
Evgeny Hanikbloom @CommIt | 2022
GraalVM What is is
Evgeny Hanikbloom @CommIt | 2022
GraalVM What is is
Evgeny Hanikbloom @CommIt | 2022
GraalVM What is is
Evgeny Hanikbloom @CommIt | 2022
• Drop-in replacement for Java 8 and Java 11, Java
19*
• Run your Java application faster
• High-performance JavaScript, Python, Ruby, R, ...
• The first VM for true polyglot programming
• Ahead-of-time compilation for Java (AOT)
• Create standalone binaries with low footprint
• Implement your own language or DSL
• Truffle framework
GraalVM Polyglot Example
Evgeny Hanikbloom @CommIt | 2022
GraalVM Polyglot Example
Evgeny Hanikbloom @CommIt | 2022
GraalVM : AOT | JIT
Evgeny Hanikbloom @CommIt | 2022
Substrate VM
Evgeny Hanikbloom @CommIt | 2022
GraalVM AOT for Python you say ?
Evgeny Hanikbloom @CommIt | 2022
“By default, GraalVM runs Python from a binary, compiled ahead-of-time
with Native Image, yielding faster startup time and lower footprint. Although
the ahead-of-time compiled binary includes the Python and LLVM
interpreters, in order to interoperate with other languages you have to supply
the --jvm argument. This instructs the launcher to run on the JVM instead of
in Native Image mode. Thus, you will notice a longer startup time.”
JIT : Definition
Evgeny Hanikbloom @CommIt | 2022
In computing, just-in-time (JIT) compilation (also dynamic translation or
run-time compilations) is a way of executing computer code that involves
compilation during execution of a program — at run time — rather than
prior to execution.
AOT : Definition
Evgeny Hanikbloom @CommIt | 2022
In computer science, ahead-of-time compilation (AOT
compilation) is the act of compiling a higher-level
programming language such as C or C++, or an
intermediate representation such as Java bytecode or
.NET Framework Common Intermediate Language (CIL)
code, into a native (system-dependent) machine code so
that the resulting binary file can execute natively.
Currently
Startup Speed
Peak
Throughput
Packaging Size Max Latency
21
Memory
Footprint
AOT JIT
GraalVM : AOT VS JIT
Goal
Packaging Size Max Latency
22
Startup Speed
Memory
Footprint
AOT JIT
Peak
Throughput
GraalVM : AOT VS JIT
GraalVM Summary
Evgeny Hanikbloom @CommIt | 2022
1. GraalVM allows users to write polyglot applications
that seamlessly pass values from one language to
another by means of the Truffle language
implementation framework (henceforth “Truffle”).
GraalVM Toolset
Evgeny Hanikbloom @CommIt | 2022
GraalVM comes with a jvm based set of tools, but due to
polyglot nature of the platform all these tools now can
be used for any language that is natively supported.
Think about VisualVM, Profiler & so on
GraalVM Toolset
Evgeny Hanikbloom @CommIt | 2022
POLYGLOT STACK TRACE
GraalVM Toolset
Evgeny Hanikbloom @CommIt | 2022
POLYGLOT HEAP DUMP
GraalVM Narive Image
Evgeny Hanikbloom @CommIt | 2022
GraalVM comes with a jvm based set of tools, but due to
polyglot nature of the platform all these tools now can
be used for any language that is natively supported.
Think about VisualVM, Profiler & so on
GraalVM Narive Image performance
Evgeny Hanikbloom @CommIt | 2022
GraalVM Narive Image performance
Evgeny Hanikbloom @CommIt | 2022
DEMO
Evgeny Hanikbloom @CommIt | 2022
GraalVM Maturity
Evgeny Hanikbloom @CommIt | 2022
• 1st public release : 1.0.0 - Apr 2018
• Latest release : 22.3.0 – Oct 2022
• Backed by : Oracle
• Used by :
GraalVM Release schedule
Evgeny Hanikbloom @CommIt | 2022
Evgeny Hanikbloom @CommIt | 2022
Thank you
Evgeny Hanikbloom @CommIt | 2022

Weitere ähnliche Inhalte

Ähnlich wie GraalVM how to speedup & lover footprint of your app by doing nothing*

GraalVM - OpenSlava 2019-10-18
GraalVM - OpenSlava 2019-10-18GraalVM - OpenSlava 2019-10-18
GraalVM - OpenSlava 2019-10-18Jorge Hidalgo
 
Micronaut: A new way to build microservices
Micronaut: A new way to build microservicesMicronaut: A new way to build microservices
Micronaut: A new way to build microservicesLuram Archanjo
 
How and why GraalVM is quickly becoming relevant for you (DOAG 2020)
How and why GraalVM is quickly becoming relevant for you (DOAG 2020)How and why GraalVM is quickly becoming relevant for you (DOAG 2020)
How and why GraalVM is quickly becoming relevant for you (DOAG 2020)Lucas Jellema
 
invokedynamic: Evolution of a Language Feature
invokedynamic: Evolution of a Language Featureinvokedynamic: Evolution of a Language Feature
invokedynamic: Evolution of a Language FeatureDanHeidinga
 
Magic with groovy & grails
Magic with groovy & grailsMagic with groovy & grails
Magic with groovy & grailsGeorge Platon
 
Introduction to GraalVM
Introduction to GraalVMIntroduction to GraalVM
Introduction to GraalVMSHASHI KUMAR
 
AOT and Native with Spring Boot 3.0
AOT and Native with Spring Boot 3.0AOT and Native with Spring Boot 3.0
AOT and Native with Spring Boot 3.0MoritzHalbritter
 
Cairo Graphics Kit
Cairo Graphics KitCairo Graphics Kit
Cairo Graphics KitESUG
 
Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2JooinK
 
Jalimo Slides Linuxtag2007 (English)
Jalimo Slides Linuxtag2007 (English)Jalimo Slides Linuxtag2007 (English)
Jalimo Slides Linuxtag2007 (English)smancke
 
Creating a reasonable project boilerplate
Creating a reasonable project boilerplateCreating a reasonable project boilerplate
Creating a reasonable project boilerplateStanislav Petrov
 
Ruby JIT Compilation - Mykhail Bortnyk
Ruby JIT Compilation - Mykhail Bortnyk Ruby JIT Compilation - Mykhail Bortnyk
Ruby JIT Compilation - Mykhail Bortnyk Ruby Meditation
 
Ruby JIT Compilation
Ruby JIT CompilationRuby JIT Compilation
Ruby JIT CompilationAmoniac OÜ
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textToma Velev
 
GraalVM Native and Spring Boot 3.0
GraalVM Native and Spring Boot 3.0GraalVM Native and Spring Boot 3.0
GraalVM Native and Spring Boot 3.0MoritzHalbritter
 
Embedding Chromium into AGL demo platform with WAM
Embedding Chromium into AGL demo platform with WAMEmbedding Chromium into AGL demo platform with WAM
Embedding Chromium into AGL demo platform with WAMIgalia
 
What is codename one
What is codename oneWhat is codename one
What is codename oneShai Almog
 

Ähnlich wie GraalVM how to speedup & lover footprint of your app by doing nothing* (20)

GraalVM - OpenSlava 2019-10-18
GraalVM - OpenSlava 2019-10-18GraalVM - OpenSlava 2019-10-18
GraalVM - OpenSlava 2019-10-18
 
Micronaut: A new way to build microservices
Micronaut: A new way to build microservicesMicronaut: A new way to build microservices
Micronaut: A new way to build microservices
 
How and why GraalVM is quickly becoming relevant for you (DOAG 2020)
How and why GraalVM is quickly becoming relevant for you (DOAG 2020)How and why GraalVM is quickly becoming relevant for you (DOAG 2020)
How and why GraalVM is quickly becoming relevant for you (DOAG 2020)
 
invokedynamic: Evolution of a Language Feature
invokedynamic: Evolution of a Language Featureinvokedynamic: Evolution of a Language Feature
invokedynamic: Evolution of a Language Feature
 
Magic with groovy & grails
Magic with groovy & grailsMagic with groovy & grails
Magic with groovy & grails
 
Introduction to GraalVM
Introduction to GraalVMIntroduction to GraalVM
Introduction to GraalVM
 
AOT and Native with Spring Boot 3.0
AOT and Native with Spring Boot 3.0AOT and Native with Spring Boot 3.0
AOT and Native with Spring Boot 3.0
 
Cairo Graphics Kit
Cairo Graphics KitCairo Graphics Kit
Cairo Graphics Kit
 
Groovy
GroovyGroovy
Groovy
 
Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2
 
Jalimo Slides Linuxtag2007 (English)
Jalimo Slides Linuxtag2007 (English)Jalimo Slides Linuxtag2007 (English)
Jalimo Slides Linuxtag2007 (English)
 
Creating a reasonable project boilerplate
Creating a reasonable project boilerplateCreating a reasonable project boilerplate
Creating a reasonable project boilerplate
 
Ruby JIT Compilation - Mykhail Bortnyk
Ruby JIT Compilation - Mykhail Bortnyk Ruby JIT Compilation - Mykhail Bortnyk
Ruby JIT Compilation - Mykhail Bortnyk
 
Ruby JIT Compilation
Ruby JIT CompilationRuby JIT Compilation
Ruby JIT Compilation
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - text
 
GraalVM Native and Spring Boot 3.0
GraalVM Native and Spring Boot 3.0GraalVM Native and Spring Boot 3.0
GraalVM Native and Spring Boot 3.0
 
Embedding Chromium into AGL demo platform with WAM
Embedding Chromium into AGL demo platform with WAMEmbedding Chromium into AGL demo platform with WAM
Embedding Chromium into AGL demo platform with WAM
 
Baiscs of OpenGL
Baiscs of OpenGLBaiscs of OpenGL
Baiscs of OpenGL
 
What is codename one
What is codename oneWhat is codename one
What is codename one
 
GraalVM
GraalVMGraalVM
GraalVM
 

Kürzlich hochgeladen

英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 

Kürzlich hochgeladen (20)

英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 

GraalVM how to speedup & lover footprint of your app by doing nothing*

  • 1. GraalVM Native Image how to speedup & significantly lower footprint of your app by doing nothing* Evgeny Hanikbloom @CommIt | 2022
  • 2. GraalVM NoFJD (Not Only for Java Developers ©) Evgeny Hanikbloom @CommIt | 2022
  • 3. GraalVM What is is Evgeny Hanikbloom @CommIt | 2022 GraalVM is a universal virtual machine for running applications written in JavaScript, Python, Ruby, R, JVM- based languages like Java, Scala, Groovy, Kotlin, Clojure, and LLVM-based languages such as C and C++.
  • 4. GraalVM What is is Evgeny Hanikbloom @CommIt | 2022
  • 6. GraalVM What is is Evgeny Hanikbloom @CommIt | 2022
  • 7. GraalVM What is is Evgeny Hanikbloom @CommIt | 2022
  • 8. GraalVM What is is Evgeny Hanikbloom @CommIt | 2022
  • 9. GraalVM What is is Evgeny Hanikbloom @CommIt | 2022
  • 10. GraalVM What is is Evgeny Hanikbloom @CommIt | 2022 • Drop-in replacement for Java 8 and Java 11, Java 19* • Run your Java application faster • High-performance JavaScript, Python, Ruby, R, ... • The first VM for true polyglot programming • Ahead-of-time compilation for Java (AOT) • Create standalone binaries with low footprint • Implement your own language or DSL • Truffle framework
  • 11. GraalVM Polyglot Example Evgeny Hanikbloom @CommIt | 2022
  • 12. GraalVM Polyglot Example Evgeny Hanikbloom @CommIt | 2022
  • 13. GraalVM : AOT | JIT Evgeny Hanikbloom @CommIt | 2022
  • 14.
  • 16.
  • 17.
  • 18. GraalVM AOT for Python you say ? Evgeny Hanikbloom @CommIt | 2022 “By default, GraalVM runs Python from a binary, compiled ahead-of-time with Native Image, yielding faster startup time and lower footprint. Although the ahead-of-time compiled binary includes the Python and LLVM interpreters, in order to interoperate with other languages you have to supply the --jvm argument. This instructs the launcher to run on the JVM instead of in Native Image mode. Thus, you will notice a longer startup time.”
  • 19. JIT : Definition Evgeny Hanikbloom @CommIt | 2022 In computing, just-in-time (JIT) compilation (also dynamic translation or run-time compilations) is a way of executing computer code that involves compilation during execution of a program — at run time — rather than prior to execution.
  • 20. AOT : Definition Evgeny Hanikbloom @CommIt | 2022 In computer science, ahead-of-time compilation (AOT compilation) is the act of compiling a higher-level programming language such as C or C++, or an intermediate representation such as Java bytecode or .NET Framework Common Intermediate Language (CIL) code, into a native (system-dependent) machine code so that the resulting binary file can execute natively.
  • 21. Currently Startup Speed Peak Throughput Packaging Size Max Latency 21 Memory Footprint AOT JIT GraalVM : AOT VS JIT
  • 22. Goal Packaging Size Max Latency 22 Startup Speed Memory Footprint AOT JIT Peak Throughput GraalVM : AOT VS JIT
  • 23. GraalVM Summary Evgeny Hanikbloom @CommIt | 2022 1. GraalVM allows users to write polyglot applications that seamlessly pass values from one language to another by means of the Truffle language implementation framework (henceforth “Truffle”).
  • 24. GraalVM Toolset Evgeny Hanikbloom @CommIt | 2022 GraalVM comes with a jvm based set of tools, but due to polyglot nature of the platform all these tools now can be used for any language that is natively supported. Think about VisualVM, Profiler & so on
  • 25. GraalVM Toolset Evgeny Hanikbloom @CommIt | 2022 POLYGLOT STACK TRACE
  • 26. GraalVM Toolset Evgeny Hanikbloom @CommIt | 2022 POLYGLOT HEAP DUMP
  • 27. GraalVM Narive Image Evgeny Hanikbloom @CommIt | 2022 GraalVM comes with a jvm based set of tools, but due to polyglot nature of the platform all these tools now can be used for any language that is natively supported. Think about VisualVM, Profiler & so on
  • 28. GraalVM Narive Image performance Evgeny Hanikbloom @CommIt | 2022
  • 29. GraalVM Narive Image performance Evgeny Hanikbloom @CommIt | 2022
  • 31. GraalVM Maturity Evgeny Hanikbloom @CommIt | 2022 • 1st public release : 1.0.0 - Apr 2018 • Latest release : 22.3.0 – Oct 2022 • Backed by : Oracle • Used by :
  • 32. GraalVM Release schedule Evgeny Hanikbloom @CommIt | 2022
  • 34. Thank you Evgeny Hanikbloom @CommIt | 2022