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
Rubinius Euruko 2012 Lightning talk
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Dirkjan Bussink
June 01, 2012
Programming
260
2
Share
Rubinius Euruko 2012 Lightning talk
A short story about optimizing Rubinius for a web application
Dirkjan Bussink
June 01, 2012
More Decks by Dirkjan Bussink
See All by Dirkjan Bussink
Managing a widely distributed team
dbussink
1
200
Time
dbussink
0
140
The tricky truth about parallel execution and modern hardware
dbussink
0
380
The future of Ruby is faster
dbussink
3
560
Security for dummies
dbussink
1
200
The myth of dynamic language performance
dbussink
3
500
Rubinius - Tales from the trenches @ Railsclub.ru 2012
dbussink
2
230
Rubinius - Tales from the trenches @ Baruco 2012
dbussink
1
290
Rubinius Eurucamp 2012 Workshop
dbussink
2
150
Other Decks in Programming
See All in Programming
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
110
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
110
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
18
7.7k
Oxcを導入して開発体験が向上した話
yug1224
4
260
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
2
1k
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
290
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
3
1.4k
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
2
300
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
270
GitHub Copilot CLIのいいところ
htkym
2
1.2k
iOS26時代の新規アプリ開発
yuukiw00w
0
220
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.1k
Featured
See All Featured
Making Projects Easy
brettharned
120
6.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Practical Orchestrator
shlominoach
191
11k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
150
Statistics for Hackers
jakevdp
799
230k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Deep Space Network (abreviated)
tonyrice
0
160
Transcript
Rubinius Use Ruby
Dirkjan Bussink
[email protected]
20 reqs/s 750 reqs/s
Disclaimer All these numbers are just relative for this specific
test app on Rubinius. They cannot just be extrapolated to your application DO try this at home!
None
0 10 20 30 40 10 20 30 40 50
60 70 80 90 100 requests / second Concurrent clients Requests
0 7.5 15 22.5 30 50 100 150 200 250
300 350 400 450 500 requests / second Concurrent clients Requests
None
None
class Hash def find_item(key) key_hash = key.hash ... end end
0 15 30 45 60 10 20 30 40 50
60 70 80 90 100 requests / second Concurrent clients Requests
0 7.5 15 22.5 30 50 100 150 200 250
300 350 400 450 500 requests / second Concurrent clients Requests
None
None
bool ObjectMemory::refill_slab(STATE, gc::Slab& slab) { SYNC(state); Address addr = young_->allocate_for_slab(slab_size_);
... }
0 75 150 225 300 10 20 30 40 50
60 70 80 90 100 requests / second Concurrent clients Requests
0 200 400 600 800 50 100 150 200 250
300 350 400 450 500 requests / second Concurrent clients Requests
0 200 400 600 800 50 100 150 200 250
300 350 400 450 500 requests / second Concurrent clients Requests Before 2 Before 1
None