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
Alex Gaynor
April 14, 2012
Programming
4
540
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
76
Learning from Failure: Post-mortems
alex
2
270
The cobbler's children have no shoes, or building better tools for ourselves
alex
1
240
Techniques for Debugging Hard Problems
alex
1
530
Building Communities with Code Review
alex
4
260
Documenting Domain Specific Knowledge
alex
1
330
Pickles are for Delis, not for Software
alex
0
310
Code Review in Open Source Software
alex
4
740
Why Ruby isn't slow
alex
10
3.7k
Other Decks in Programming
See All in Programming
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
170
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
540
動作確認やテストで漏れがちな観点3選
starfish719
6
1k
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
270
GAEログのコスト削減
mot_techtalk
0
120
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
210
ソフトウェアエンジニアの成長
masuda220
PRO
12
1.8k
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1k
JavaScriptツール群「UnJS」を5分で一気に駆け巡る!
k1tikurisu
9
1.8k
ファインディの テックブログ爆誕までの軌跡
starfish719
2
1.1k
Unity Android XR入門
sakutama_11
0
160
『GO』アプリ データ基盤のログ収集システムコスト削減
mot_techtalk
0
130
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Music & Morning Musume
bryan
46
6.3k
Making Projects Easy
brettharned
116
6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
A Tale of Four Properties
chriscoyier
158
23k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Facilitating Awesome Meetings
lara
52
6.2k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.3k
Why Our Code Smells
bkeepers
PRO
336
57k
Designing for Performance
lara
604
68k
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