Upgrade to Pro — share decks privately, control downloads, hide ads and more …

High Performance Ruby: Threading versus Evented (Ruby MidWest edition)

High Performance Ruby: Threading versus Evented (Ruby MidWest edition)

I wanted to know, "Do I need to learn about EventMachine or node.js? Can I use threads? What is so good or bad about threading in Ruby 1.8, Ruby 1.9, JRuby and Rubinius 2.0?"
What was important to me was the the choice was abstracted away. I wanted to write normal, step-by-step Ruby code. Yet I wanted it to be performant.
I've asked a lot of people. I even hosted EM RubyConf (http://emrubyconf.com) during RailsConf 2011 in order to gather the brightest minds in the Ruby community.
"What choices do I need to make, how different does my code look, and how do I do testing?" These are the questions I searched for answers.
I'd like to now share the answers.

Dr Nic Williams

November 05, 2011
Tweet

More Decks by Dr Nic Williams

Other Decks in Technology

Transcript

  1.  ________   <  Safari  >  -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐        

             \      ^__^                  \    (xx)\_______                        (__)\              )\/\                          ^    ||-­‐-­‐-­‐-­‐w  |                                ||          ||
  2. •1 req = 1 process = 150Mb •“100 reqs?” =

    15Gb! •Orchestrated by? Kernel •Unicorn, Passenger Process Concurrency
  3.  _____________   <  Power  Ruby!  >  -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐      

               \      ^__^                  \    (Oo)\_______                        (__)\              )\/\                          <>  ||-­‐-­‐-­‐-­‐w  |                                ||          || @drnic | drnicwilliams.com | engineyard.com