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
38
The Future of Working in IT
bertzzie
1
76
Dependency Injection in Spring
bertzzie
0
63
Scala: Lessons Learned from the Battlefield
bertzzie
0
46
Lessons We Learned Through Hell When Scaling Blibli.com
bertzzie
0
210
Building Fintech App in Java: Tips & Trick
bertzzie
0
150
Handling Scale with Reactive Programming
bertzzie
0
110
Scaling Software Architecture: 101 and Best Practices
bertzzie
0
210
Spring Cloud Contract Introduction
bertzzie
0
580
Other Decks in Technology
See All in Technology
LangSmith入門―トレース/評価/プロンプト管理などを担うLLMアプリ開発プラットフォーム
os1ma
5
670
MLOpsの「壁」を乗り越える、LINEヤフーの Data Quality as Code
lycorptech_jp
PRO
8
610
20分で完全に理解するGrafanaダッシュボード
hamadakoji
5
870
ServiceNow Knowledge 24の歩き方 EYストラテジー・アンド・コンサルティング
manarobot
0
220
Além do else! Categorizando Pokemóns com Pattern Matching no JavaScript
wmsbill
0
690
Microsoft Intune 勉強会 第 2 回目
tamaiyutaro
2
360
Rustで「プリズモイダル法」を利用して「土量計算」をガチでやる
nokonoko1203
1
240
実例で紹介するRAG導入時の知見と精度向上の勘所
yamahiro
4
1.3k
競技としてのKaggle、役に立つKaggle
yu4u
6
2.3k
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
2
280
アクセシビリティを考慮したUI/CSSフレームワーク・ライブラリ選定
yajihum
2
1.1k
JSON攻略法.pdf
miyakemito
8
5.2k
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
38
2.5k
How to train your dragon (web standard)
notwaldorf
74
5.2k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
123
39k
[RailsConf 2023] Rails as a piece of cake
palkan
27
4k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
A Philosophy of Restraint
colly
197
16k
Producing Creativity
orderedlist
PRO
338
39k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
19
6.9k
Design by the Numbers
sachag
274
18k
Embracing the Ebb and Flow
colly
80
4.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