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
YJITのBenchmarksに貢献した話
Search
yamasaki
May 10, 2025
Programming
0
38
YJITのBenchmarksに貢献した話
深掘り!RubyKaigi 2025アフターセッション
https://tenshoku-draft.connpass.com/event/352614/
yamasaki
May 10, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
CursorはMCPを使った方が良いぞ
taigakono
1
180
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
980
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
47
31k
DroidKnights 2025 - 다양한 스크롤 뷰에서의 영상 재생
gaeun5744
3
330
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
330
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
810
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
370
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
110
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
210
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
270
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
200
ふつうの技術スタックでアート作品を作ってみる
akira888
0
130
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
57
9.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Balancing Empowerment & Direction
lara
1
380
Building a Scalable Design System with Sketch
lauravandoore
462
33k
GraphQLとの向き合い方2022年版
quramy
48
14k
Raft: Consensus for Rubyists
vanstee
140
7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
It's Worth the Effort
3n
185
28k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Transcript
YJITのBenchmarksに貢献した話
note inc. ⾃⼰紹介 Yamasaki • 2020/04⼊社 • サーバーサイドエンジニア • 個⼈開発/ピアノ/⿇雀
• sacckey 2
note inc. RubyKaigi 2025 振り返り Designed to last for next
20+ years of CRuby! 3
note inc. さっそくZJITを使ってみる % RUBY_CONFIGURE_OPTS=--enable-zjit rbenv install 3.5-dev % RUBYOPT=--enable-zjit
ruby --version ruby 3.5.0dev (2025-05-05T13:34:32Z master 3a2e56e685) +ZJIT +PRISM 4
note inc. YJITによるパフォーマンス向上 5
note inc. YJITのBenchmarks https://github.com/Shopify/yjit-bench で管理されているベンチマークプログラムの集合 https://speed.yjit.org でビジュアライズされた結果を⾒ることができる 6
note inc. 7 https://speed.yjit.org/benchmarks/bench-2025-05-08-035121.html
note inc. Ruby Boy (https://github.com/sacckey/rubyboy) Rubyで動くGame Boyのエミュレーター ruby.wasmによってブラウザでも動く https://sacckey.github.io/rubyboy/ 8
note inc. Ruby Boy実装の⾯⽩い点 • Game Boyの仕様をRubyプログラムで再現 • パフォーマンスチューニング ◦
ベンチマークプログラム • ruby.wasmを使ってブラウザ上で動かす 9
note inc. Ruby Boyのベンチマーク 10
note inc. Ruby Boyのベンチマーク結果 11
note inc. YJITのBenchmarksに使ってもらう 12
note inc. 類似の事例(Camlboy) 13 https://bench.ci.dev/ocsigen/js_of_ocaml/branch/master/benchmark/Wasm_of_ocaml?worker=autumn&ima ge=bench.Dockerfile
note inc. まとめ • Ruby BoyがYJITのベンチマークとして使われた! • ベンチマークプログラムを作って、YJIT, ZJIT使⽤時の結果を公開しよう! ◦
ベンチマークプログラムとして貢献できるかも? 14
note inc. 15 noteでは仲間を募集中です! https://note.jp/n/nc0fe1a230633 募集職種: • サーバーサイドエンジニア • 機械学習エンジニア(MLエンジニア)
• LLMエンジニア 採⽤情報
None