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
Dirkjan Bussink
June 01, 2012
Programming
2
230
Rubinius Euruko 2012 Lightning talk
A short story about optimizing Rubinius for a web application
Dirkjan Bussink
June 01, 2012
Tweet
Share
More Decks by Dirkjan Bussink
See All by Dirkjan Bussink
Managing a widely distributed team
dbussink
1
160
Time
dbussink
0
86
The tricky truth about parallel execution and modern hardware
dbussink
0
320
The future of Ruby is faster
dbussink
3
530
Security for dummies
dbussink
1
130
The myth of dynamic language performance
dbussink
3
420
Rubinius - Tales from the trenches @ Railsclub.ru 2012
dbussink
2
200
Rubinius - Tales from the trenches @ Baruco 2012
dbussink
1
250
Rubinius Eurucamp 2012 Workshop
dbussink
2
110
Other Decks in Programming
See All in Programming
僕が思い描くTypeScriptの未来を勝手に先取りする
yukukotani
9
2.4k
実践!難読化ガイド
mitchan
0
210
Architecture Decision Record (ADR)
nearme_tech
PRO
1
690
Go1.23で入った errorsパッケージの小さなアプデ
kuro_kurorrr
2
390
What is Parser
yui_knk
9
4.1k
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
4
90k
Jakarta EE meets AI
ivargrimstad
0
390
Google Sign-inの移行から始めるCredential Manager活用
clockvoid
0
310
Scala におけるコンパイラエラーとの付き合い方
chencmd
2
430
Ruby Parser progress report 2024
yui_knk
2
230
Scala アプリケーションのビルドを改善してデプロイ時間を 1/4 にした話 | How I improved the build of my Scala application and reduced deployment time by 4x
nomadblacky
1
180
Perl 5 OOP機構30年史 - Perl 5's OOP Mechanism over the past 30 years
moznion
0
350
Featured
See All Featured
How GitHub (no longer) Works
holman
310
140k
Unsuck your backbone
ammeep
667
57k
Statistics for Hackers
jakevdp
794
220k
Building a Scalable Design System with Sketch
lauravandoore
459
32k
How to Think Like a Performance Engineer
csswizardry
16
960
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Designing Experiences People Love
moore
138
23k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
Facilitating Awesome Meetings
lara
49
6k
Practical Orchestrator
shlominoach
185
10k
Visualization
eitanlees
142
15k
Intergalactic Javascript Robots from Outer Space
tanoku
268
26k
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