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
Building fast VMs quickly
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Alex Gaynor
April 14, 2012
Programming
4
550
Building fast VMs quickly
Alex Gaynor
April 14, 2012
Tweet
Share
More Decks by Alex Gaynor
See All by Alex Gaynor
Quantifying Memory Unsafety and Reactions to It
alex
0
120
Learning from Failure: Post-mortems
alex
2
300
The cobbler's children have no shoes, or building better tools for ourselves
alex
1
280
Techniques for Debugging Hard Problems
alex
1
620
Building Communities with Code Review
alex
4
320
Documenting Domain Specific Knowledge
alex
1
410
Pickles are for Delis, not for Software
alex
0
490
Code Review in Open Source Software
alex
4
790
Why Ruby isn't slow
alex
10
3.8k
Other Decks in Programming
See All in Programming
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
250
Oxlintはいいぞ
yug1224
5
1.3k
Patterns of Patterns
denyspoltorak
0
1.4k
Basic Architectures
denyspoltorak
0
660
Fragmented Architectures
denyspoltorak
0
150
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
600
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
300
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
180
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
CSC307 Lecture 02
javiergs
PRO
1
770
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
110
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1k
Featured
See All Featured
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
730
Designing Powerful Visuals for Engaging Learning
tmiket
0
220
Rails Girls Zürich Keynote
gr2m
96
14k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
What does AI have to do with Human Rights?
axbom
PRO
0
2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
430
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
180
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.1k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
320
Transcript
Friday, April 13, 2012
Hit me with questions as we go Friday, April 13,
2012
Building fast VMs quickly Alex Gaynor Friday, April 13, 2012
Building high performance VMs for dynamically typed languages is hard
Friday, April 13, 2012
It doesn’t have to be Friday, April 13, 2012
PyPy A framework for implementing high performance dynamic languages A
Python implementation built on this framework Friday, April 13, 2012
Architecture of a VM Tokenize Parse AST construction Bytecode compilation
Interpretation Friday, April 13, 2012
Let’s build a VM Friday, April 13, 2012
https://bitbucket.org/ alex_gaynor/example-vm/ Friday, April 13, 2012
Our language Approximately a subset of Javascript Variables Floats, bools
Arithmetic if, while, print Friday, April 13, 2012
Lexing and Parsing Write a grammar in EBNF That’s it
Friday, April 13, 2012
AST Construction Take a tree of syntax nodes, turn them
into semantic nodes Friday, April 13, 2012
Bytecode compilation Turn the AST into a bytecode. Friday, April
13, 2012
Object model How you represent your objects. Friday, April 13,
2012
Interpreter Simple bytecode interpreter. Friday, April 13, 2012
RPythonize and JIT Friday, April 13, 2012
That’s all folks! Thanks to Professor Moorthy Everyone in RCOS
Friday, April 13, 2012