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
Alex Xandra Albert Sim
September 25, 2019
Technology
0
150
Introduction to GraalVM
A simple introduction to the GraalVM and its ecosystem
Alex Xandra Albert Sim
September 25, 2019
Tweet
Share
More Decks by Alex Xandra Albert Sim
See All by Alex Xandra Albert Sim
System Operations
bertzzie
0
48
The Future of Working in IT
bertzzie
1
86
Dependency Injection in Spring
bertzzie
0
72
Scala: Lessons Learned from the Battlefield
bertzzie
0
55
Lessons We Learned Through Hell When Scaling Blibli.com
bertzzie
0
220
Building Fintech App in Java: Tips & Trick
bertzzie
0
160
Handling Scale with Reactive Programming
bertzzie
0
110
Scaling Software Architecture: 101 and Best Practices
bertzzie
0
220
Spring Cloud Contract Introduction
bertzzie
0
600
Other Decks in Technology
See All in Technology
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
8
1.3k
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
150
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
120
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
1
120
The Future of SEO: The Impact of AI on Search
badams
0
160
室長と気ままに学ぶマイクロソフトのビジネスアプリケーションとビジネスプロセス
ryoheig0405
0
350
Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド
logica0419
2
880
Data-centric AI入門第6章:Data-centric AIの実践例
x_ttyszk
1
390
Datadog APM におけるトレース収集の流れ及び Retention Filters のはなし / datadog-apm-trace-retention-filters
k6s4i53rx
0
330
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.5k
AndroidデバイスにFTPサーバを建立する
e10dokup
0
240
Moved to https://speakerdeck.com/toshihue/presales-engineer-career-bridging-tech-biz-ja
toshihue
2
670
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
BBQ
matthewcrist
86
9.5k
Adopting Sorbet at Scale
ufuk
74
9.2k
Code Review Best Practice
trishagee
66
17k
Facilitating Awesome Meetings
lara
51
6.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Automating Front-end Workflow
addyosmani
1367
200k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
A designer walks into a library…
pauljervisheath
205
24k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
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