A short story about optimizing Rubinius for a web application
RubiniusUse Ruby
View Slide
Dirkjan Bussink[email protected]
20 reqs/s750 reqs/s
DisclaimerAll these numbers are just relativefor this specific test app on Rubinius.They cannot just be extrapolatedto your applicationDO try this at home!
01020304010 20 30 40 50 60 70 80 90 100requests / secondConcurrent clientsRequests
07.51522.53050 100 150 200 250 300 350 400 450 500requests / secondConcurrent clientsRequests
class Hashdef find_item(key)key_hash = key.hash...endend
01530456010 20 30 40 50 60 70 80 90 100requests / secondConcurrent clientsRequests
bool ObjectMemory::refill_slab(STATE, gc::Slab& slab) {SYNC(state);Address addr = young_->allocate_for_slab(slab_size_);...}
07515022530010 20 30 40 50 60 70 80 90 100requests / secondConcurrent clientsRequests
020040060080050 100 150 200 250 300 350 400 450 500requests / secondConcurrent clientsRequests
020040060080050 100 150 200 250 300 350 400 450 500requests / secondConcurrent clientsRequests Before 2 Before 1