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
fukuoka.rb#202 RustでつくるRuby
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
monochrome
March 24, 2021
Programming
1
850
fukuoka.rb#202 RustでつくるRuby
monochrome
March 24, 2021
Tweet
Share
More Decks by monochrome
See All by monochrome
Improving my own Ruby thereafter
sisshiki1969
1
200
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
1
950
Improve my own Ruby
sisshiki1969
1
450
My own Ruby, thereafter
sisshiki1969
0
370
Running Optcarrot (faster) on my own Ruby.
sisshiki1969
1
280
仮想マシンにおけるスタックの管理
sisshiki1969
0
220
Rustでゴミ集め
sisshiki1969
1
350
RustでつくるRubyのFiber
sisshiki1969
0
300
Shinjuku.rs#15 Rustでつくるx86アセンブラ
sisshiki1969
0
1.7k
Other Decks in Programming
See All in Programming
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
150
atmaCup #23でAIコーディングを活用した話
ml_bear
1
150
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
750
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
140
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
Raku Raku Notion 20260128
hareyakayuruyaka
0
370
AI時代の認知負荷との向き合い方
optfit
0
170
日本だけで解禁されているアプリ起動の方法
ryunakayama
0
280
Gemini for developers
meteatamel
0
100
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Navigating Weather and Climate Data
rabernat
0
110
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
440
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
68
Docker and Python
trallard
47
3.7k
Music & Morning Musume
bryan
47
7.1k
Between Models and Reality
mayunak
1
200
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Transcript
RustでつくるRuby処理系 monochrome twitter: @s_isshiki1969 GitHub: https://github.com/sisshiki1969 Slack: プログラミング言語処理系が好きな人の集まり https://prog-lang-sys-ja-slack.github.io/wiki/
ruruby (https://github.com/sisshiki1969/ruruby) • Rust製のRuby実装 • 仮想マシンインタプリタ • 他の既存実装・仮想マシンへの依存なし • 3万行ぐらい
モチベーション 1. Rustの勉強がしたい 2. 何か言語処理系を作りたい 3. Ruby面白そう
benchmark
開発のモチベーションをいかに維持するか 1. おもちゃじゃないプログラムを動かしたい 2. 「正しく動いている」ことがわかるもの 3. 実行速度を測定できるもの 4. 極力外部ライブラリに依存しないもの
Optcarrot • Rubyで書かれたファミコンのエミュレータ • 「Ruby3x3」のための準公式ベンチマーク • ベンチマーク用の速度測定モードがある • 生成した画像の正しさをチェックサムで検証できる •
(ベンチマークモードでは)外部ライブラリを使用しない
optcarrot benchmark
None
技術的に難しかった点 • ガベージコレクタ →自作した。 • Fiber →アセンブリで実装 (x86-64/linux, aarch64/MacOS)
言語処理系自作は • モチベーションを維持する工夫が大切 • 対象言語の実行モデルの勉強になる • 楽しいので、みんなで作ろう Slack: プログラミング言語処理系が好きな人の集まり https://prog-lang-sys-ja-slack.github.io/wiki/