Rubinius Euruko 2012 Lightning talk

Rubinius Euruko 2012 Lightning talk

A short story about optimizing Rubinius for a web application

B012094b37ab6946c44eaa41d7828478?s=128

Dirkjan Bussink

June 01, 2012
Tweet

Transcript

  1. Rubinius Use Ruby

  2. Dirkjan Bussink d.bussink@gmail.com

  3. 20 reqs/s 750 reqs/s

  4. 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!
  5. None
  6. 0 10 20 30 40 10 20 30 40 50

    60 70 80 90 100 requests / second Concurrent clients Requests
  7. 0 7.5 15 22.5 30 50 100 150 200 250

    300 350 400 450 500 requests / second Concurrent clients Requests
  8. None
  9. None
  10. class Hash def find_item(key) key_hash = key.hash ... end end

  11. 0 15 30 45 60 10 20 30 40 50

    60 70 80 90 100 requests / second Concurrent clients Requests
  12. 0 7.5 15 22.5 30 50 100 150 200 250

    300 350 400 450 500 requests / second Concurrent clients Requests
  13. None
  14. None
  15. bool ObjectMemory::refill_slab(STATE, gc::Slab& slab) { SYNC(state); Address addr = young_->allocate_for_slab(slab_size_);

    ... }
  16. 0 75 150 225 300 10 20 30 40 50

    60 70 80 90 100 requests / second Concurrent clients Requests
  17. 0 200 400 600 800 50 100 150 200 250

    300 350 400 450 500 requests / second Concurrent clients Requests
  18. 0 200 400 600 800 50 100 150 200 250

    300 350 400 450 500 requests / second Concurrent clients Requests Before 2 Before 1
  19. None