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
85
Dependency Injection in Spring
bertzzie
0
71
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
150
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
The key to VCP-VCF
mirie_sd
0
160
Web APIをなぜつくるのか
mikanichinose
0
1.5k
AI×医用画像の現状と可能性_2024年版/AI×medical_imaging_in_japan_2024
tdys13
0
1.2k
ZOZOTOWN の推薦における KPI モニタリング/KPI monitoring for ZOZOTOWN recommendations
rayuron
1
840
UI State設計とテスト方針
rmakiyama
4
940
テストを書かないためのテスト/ Tests for not writing tests
sinsoku
1
150
Agentic RAG with LangGraph
atsushii
0
120
ネットワーク可視化の世界
likr
7
5.7k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
54k
スケールし続ける事業とサービスを支える組織とアーキテクチャの生き残り戦略 / The survival strategy for Money Forward’s engineering.
moneyforward
0
230
AWS re:Invent 2024 Recap in ZOZO - Serverless で好きなものをしゃべってみた
chongmyungpark
0
1k
AWSの生成AIサービス Amazon Bedrock入門!(2025年1月版)
minorun365
PRO
7
360
Featured
See All Featured
Gamification - CAS2011
davidbonilla
80
5.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
850
Designing Experiences People Love
moore
139
23k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
940
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Optimizing for Happiness
mojombo
376
70k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Bash Introduction
62gerente
609
210k
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