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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
350
The cobbler's children have no shoes, or building better tools for ourselves
alex
1
300
Techniques for Debugging Hard Problems
alex
1
650
Building Communities with Code Review
alex
4
340
Documenting Domain Specific Knowledge
alex
1
440
Pickles are for Delis, not for Software
alex
0
550
Code Review in Open Source Software
alex
4
820
Why Ruby isn't slow
alex
10
3.9k
Other Decks in Programming
See All in Programming
React本体のコードリーディング
high_g_engineer
1
120
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
210
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
9
5.9k
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
510
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
2
310
Claude Team Plan導入・ガイド
tk3fftk
0
250
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
140
今さら聞けない .NET CLI
htkym
0
170
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
17k
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
380
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
3.3k
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
150
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
Facilitating Awesome Meetings
lara
57
7k
4 Signs Your Business is Dying
shpigford
187
22k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Being A Developer After 40
akosma
91
590k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
HDC tutorial
michielstock
2
760
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