Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Building fast VMs quickly
Search
Alex Gaynor
April 14, 2012
Programming
560
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Building fast VMs quickly
Alex Gaynor
April 14, 2012
More Decks by Alex Gaynor
See All by Alex Gaynor
Quantifying Memory Unsafety and Reactions to It
alex
0
150
Learning from Failure: Post-mortems
alex
2
370
The cobbler's children have no shoes, or building better tools for ourselves
alex
1
300
Techniques for Debugging Hard Problems
alex
1
660
Building Communities with Code Review
alex
4
350
Documenting Domain Specific Knowledge
alex
1
440
Pickles are for Delis, not for Software
alex
0
570
Code Review in Open Source Software
alex
4
830
Why Ruby isn't slow
alex
10
3.9k
Other Decks in Programming
See All in Programming
setup-vp GitLab対応の裏側
naokihaba
0
100
Webの地図
yosuke_furukawa
PRO
6
4.6k
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
550
SREの越境 / SRE Collaboration
y0hgi
2
210
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
7.3k
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
170
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
330
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
240
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
250
AI活用は、個人から組織へ|マルチプレイヤーエージェントハーネス「QM」の社内活用事例 / AI use is moving from individuals to orgs
rkaga
1
110
XHTMLが残したもの
yosuke_furukawa
PRO
2
810
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
3k
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
990
Mobile First: as difficult as doing things right
swwweet
225
10k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
670
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
460
Technical Leadership for Architectural Decision Making
baasie
3
570
Building AI with AI
inesmontani
PRO
1
1.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
410
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
530
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
520
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