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
monochrome
March 24, 2021
Programming
880
1
Share
fukuoka.rb#202 RustでつくるRuby
monochrome
March 24, 2021
More Decks by monochrome
See All by monochrome
Improving my own Ruby thereafter
sisshiki1969
1
230
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
1
1k
Improve my own Ruby
sisshiki1969
1
550
My own Ruby, thereafter
sisshiki1969
0
390
Running Optcarrot (faster) on my own Ruby.
sisshiki1969
1
300
仮想マシンにおけるスタックの管理
sisshiki1969
0
240
Rustでゴミ集め
sisshiki1969
1
370
RustでつくるRubyのFiber
sisshiki1969
0
320
Shinjuku.rs#15 Rustでつくるx86アセンブラ
sisshiki1969
0
1.7k
Other Decks in Programming
See All in Programming
20260514_its_the_context_window_stupid.pdf
heita
0
1k
「なんか〇〇ライブラリで脆弱性あるみたいなんだけど。。。」から始める脆弱性対応 / First Steps in Vulnerability Response
mackey0225
2
130
【ディップ|26年新卒研修資料】TDD実装演習
dip_tech
PRO
0
190
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
170
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
520
Kingdom of the Machine
yui_knk
2
1.5k
[BalkanRuby 2026] Drop your app/services!
palkan
0
100
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.7k
Agentic Elixir
whatyouhide
0
450
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
2
260
Agentic UI in the Frontend: Architectures with Open Standards @JAX 2026 in Mainz
manfredsteyer
PRO
0
110
WebAssembly を読み込むベストプラクティス 2026年春版 / Best Practices for Loading WebAssembly (Spring 2026)
petamoriken
5
1.1k
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
40k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Color Theory Basics | Prateek | Gurzu
gurzu
0
310
A Soul's Torment
seathinner
6
2.8k
HDC tutorial
michielstock
2
660
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Paper Plane (Part 1)
katiecoart
PRO
0
7.6k
The browser strikes back
jonoalderson
0
1.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
180
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/