Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction to GraalVM
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Alex Xandra Albert Sim
September 25, 2019
Technology
170
0
Share
Introduction to GraalVM
A simple introduction to the GraalVM and its ecosystem
Alex Xandra Albert Sim
September 25, 2019
More Decks by Alex Xandra Albert Sim
See All by Alex Xandra Albert Sim
System Operations
bertzzie
0
82
The Future of Working in IT
bertzzie
1
98
Dependency Injection in Spring
bertzzie
0
87
Scala: Lessons Learned from the Battlefield
bertzzie
0
81
Lessons We Learned Through Hell When Scaling Blibli.com
bertzzie
0
240
Building Fintech App in Java: Tips & Trick
bertzzie
0
170
Handling Scale with Reactive Programming
bertzzie
0
120
Scaling Software Architecture: 101 and Best Practices
bertzzie
0
230
Spring Cloud Contract Introduction
bertzzie
0
650
Other Decks in Technology
See All in Technology
シンデレラなんかになりたくない!ガラスの靴が割れた時代にどう歩く?
nomizone
0
220
JEP 522 Deep Dive - G1 GC同期コスト削減によるスループット向上を徹底検証&解説
tabatad
1
370
OpenID Connectによるサービス間連携
takesection
0
140
GitHub Copilot のこれまでとこれから: From Copilot to Collaborative Agents
yuriemori
1
230
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
960
Kiro CLI v2.0.0がやってきた!
kentapapa
0
220
管理アカウント単一運用からAWS Organizationsに移行するの大変で滅
hiramax
0
320
Javaで学ぶSOLID原則
negima
1
240
Fabric-cicd によるAzure DevOps デプロイ
ryomaru0825
0
150
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
170
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
Javaコミュニティをもっと楽しむための9箇条
takasyou
0
600
Featured
See All Featured
Technical Leadership for Architectural Decision Making
baasie
3
380
Accessibility Awareness
sabderemane
1
130
Context Engineering - Making Every Token Count
addyosmani
9
920
Faster Mobile Websites
deanohume
310
31k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
470
Git: the NoSQL Database
bkeepers
PRO
432
67k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
190
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
320
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
150
Transcript
GraalVM An Introduction
Disclaimer Presentations are intended for educational purposes only and not
to replace independent professional judgement. The views and opinions expressed in this prsentation do not necessarily reflect the official policy or position of blibli.com. Audience discretion is advised.
What is a VM? an efficient, isolated duplicate of the
real machine Popek, Gerald J.; Goldberg, Robert P. (1974). "Formal requirements for virtualizable third generation architectures" “ “”
Java Virtual Machine Class Loader Runtime Data Area Execution Engine
JNI Native Mehtod Library Java Scala Kotlin Clojure Loads, links, initialize *.class at runtime Store bytecode, runtime data, native stacks Executes bytecode Interaction with native libs
GraalVM GraalVM Tuffle JVM Languages (java, kotlin, etc) JS Ruby
R LLVM bc JVM Node.JS OracleDB Native Program
GraalVM: Performance GraalVM Tuffle JVM Languages (java, kotlin, etc) JS
Ruby R LLVM bc JVM Node.JS OracleDB Native Program
GraalVM: Performance • Better JIT • Fast startup • Lower
footprint • AOT Compiler
GraalVM Performance: Demo
GraalVM: Polyglot GraalVM Tuffle JVM Languages (java, kotlin, etc) JS
Ruby R LLVM bc JVM Node.JS OracleDB Native Program
GraalVM: Polyglot • Pass values between languages • Executes code
from other language(s) • No copying or marshalling
GraalVM Polyglot: How? • Interoperability protocol • Communicates via set
of agreed data types and structure • Details: https://chrisseaton.com/rubytruffle/dls15-interop/dls15- interop.pdf
Polyglot: Demo
GraalVM: Cross Language Tool GraalVM Tuffle JVM Languages (java, kotlin,
etc) JS Ruby R LLVM bc JVM Node.JS OracleDB Native Program
Cross Lang Tools: Demo
Code at: https://github.com/bertzzie/graalvm-example Slides at: https://speakerdeck.com/bertzzie/introduction-to-graalvm QA and Closing