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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
Oracle Cloud Infrastructure:2026年5月度サービス・アップデート
oracle4engineer
PRO
1
270
layerx-fde-practices
cipepser
6
2.9k
Java正規表現エンジン(NFA)の仕組みと パフォーマンスを維持するための最適化手法
takeuchi_132917
0
150
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
350
はじめてのDatadog
kairim0
0
220
美味しいスイスチーズを作ろう🧀🐭
taigamikami
1
180
地元にいないローカルオーガナイザーの立ち回り
uvb_76
1
360
TROCCOで始めるクラウドコストを民主化するためのFinOps
tk3fftk
1
300
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
170
大規模災害時でも高い信頼性を維持するアプリケーション基盤の実現/nikkei-tech-talk46
nikkei_engineer_recruiting
0
120
Amazon Bedrock 経由の Claude Cowork を試してみよう・MCP にも繋いでみよう
sugimomoto
0
260
プラットフォームエンジニア ワークショップ/ platform-workshop
databricksjapan
0
130
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
550
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Utilizing Notion as your number one productivity tool
mfonobong
4
310
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
340
Amusing Abliteration
ianozsvald
1
190
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
74k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
160
How to train your dragon (web standard)
notwaldorf
97
6.6k
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