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
240
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
190
Time
dbussink
0
110
The tricky truth about parallel execution and modern hardware
dbussink
0
350
The future of Ruby is faster
dbussink
3
540
Security for dummies
dbussink
1
160
The myth of dynamic language performance
dbussink
3
470
Rubinius - Tales from the trenches @ Railsclub.ru 2012
dbussink
2
220
Rubinius - Tales from the trenches @ Baruco 2012
dbussink
1
270
Rubinius Eurucamp 2012 Workshop
dbussink
2
120
Other Decks in Programming
See All in Programming
モデル駆動設計をやってみよう Modeling Forum2025ワークショップ/Let’s Try Model-Driven Design
haru860
0
170
Vueで学ぶデータ構造入門 リンクリストとキューでリアクティビティを捉える / Vue Data Structures: Linked Lists and Queues for Reactivity
konkarin
1
320
オフライン対応!Flutterアプリに全文検索エンジンを実装する @FlutterKaigi2025
itsmedreamwalker
2
220
Reactive Thinking with Signals and the new Resource API
manfredsteyer
PRO
0
110
GeistFabrik and AI-augmented software development
adewale
PRO
0
110
ノーコードからの脱出 -地獄のデスロード- / Escape from Base44
keisuke69
1
750
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.2k
関数の挙動書き換える
takatofukui
4
730
The Missing Link in Angular's Signal Story: Resource API and httpResource
manfredsteyer
PRO
0
140
知られているようで知られていない JavaScriptの仕様 4選
syumai
0
630
AI駆動開発ライフサイクル(AI-DLC)のホワイトペーパーを解説
swxhariu5
0
1.2k
問題の見方を変える「システム思考」超入門
panda_program
0
300
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
A Tale of Four Properties
chriscoyier
162
23k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.1k
Navigating Team Friction
lara
190
15k
Designing for humans not robots
tammielis
254
26k
Facilitating Awesome Meetings
lara
57
6.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
24
1.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
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