Ruby Throwdown Hosted by Engine Yard

7,212 views
6,463 views

Published on

Slides for the following live webinar held on July 21st at 10AM PST

Published in: Technology
3 Comments
6 Likes
Statistics
Notes
  • Here's the recording: http://www.youtube.com/watch?v=UrrSx8H_GRI
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • I just paid $22.87 for an iPad2-64GB and my girlfriend loves her Panasonic Lumix GF 1 Camera that we got for $38.76 there arriving tomorrow by UPS. I will never pay such expensive retail prices in stores again. Especially when I also sold a 40 inch LED TV to my boss for $675 which only cost me $62.81 to buy. Here is the website we use to get it all from, CentShack.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Like this presentation? check back soon, we'll be adding a link to the replay!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
7,212
On SlideShare
0
From Embeds
0
Number of Embeds
19
Actions
Shares
0
Downloads
46
Comments
3
Likes
6
Embeds 0
No embeds

No notes for slide

Ruby Throwdown Hosted by Engine Yard

  1. The Throwdown will begin shortly#RubyThrowdown
  2. “JRuby and Rubinius are the best production Ruby runtimes” - Dr Nic “Ignore everything Dr Nic tells you. Use MRI instead” - Aaron#RubyThrowdown
  3. Todayʼs Line-up#RubyThrowdown
  4. Agenda Introduction & History Ecosystem Tooling Concurrency Windows Deployment Summary of the Good Bits Q&A#RubyThrowdown
  5. Aaron Patterson (@tenderlove) HISTORY OF MRI Aaronʼs appearance is made possible by#RubyThrowdown
  6. MRI History MRI = Matzʼ Ruby Implementation Written in C Reference Implementation#RubyThrowdown
  7. Nick Sieger (@nicksieger) HISTORY OF JRUBY Nickʼs appearance is made possible by#RubyThrowdown
  8. JRuby History Written in Java, Runs on JVM 2001: Pet project 2007: 1.0 2009: Engine Yard 2011: 1.6: 1.8 + 1.9 all-in-1#RubyThrowdown
  9. Brian Ford (@brixen) HISTORY OF RUBINIUS Brianʼs appearance is made possible by#RubyThrowdown
  10. Rubinius History Evan Phoenix RubyConf 2006 Engine Yard 2007 100s of Contributors#RubyThrowdown
  11. Rubinius History Custom VM Generational GC Just-in-time (JIT) Compiler Ruby Core Library#RubyThrowdown
  12. Agenda Introduction & History Ecosystem Tooling Concurrency Windows Deployment Summary of the Good Bits Q&A#RubyThrowdown
  13. MRI Library Ecosystem Any Gem (rubygems.org) C (and C++) libraries are accessible libffi, libyaml, openssl Popular Gems provide: libxml2, libem#RubyThrowdown
  14. JRuby Ecosystem Ruby <=–bridge–=> Java Use as Ruby impl. or Java library C extension layer* Access Java seamlessly JRuby-specific gems#RubyThrowdown
  15. Rubinius Ecosystem Identical Use as MRI C-extension & Gems Language Platform http://rubini.us/projects#RubyThrowdown
  16. Agenda Introduction & History Ecosystem Tooling Concurrency Windows Deployment Summary of the Good Bits Q&A#RubyThrowdown
  17. Stability JVM Monitoring/ Tools Native Threads Performance#RubyThrowdown
  18. #RubyThrowdown
  19. Rubinius Tooling Profiler Debugger Memory Analysis Rubinius::Agent#RubyThrowdown
  20. MRI Tooling perftools.rb (Google Perf Tools) gdb DTrace (only on OS X Ruby) GC::Profiler (built in) ObjectSpace.count_objects#RubyThrowdown
  21. Perftools.rb#RubyThrowdown
  22. GC::Profiler.result Invoke User Size Total Size Total GC Time Index Time(sec) (byte) (byte) Object (ms) 1 0.016 301640 572600 14315 1.035#RubyThrowdown
  23. ObjectSpace {:TOTAL=>14308, :FREE=>222, :T_OBJECT=>8, :T_CLASS=>474, :T_MODULE=>21, :T_FLOAT=>7, :T_STRING=>6248, :T_REGEXP=>24, :T_ARRAY=>1063, :T_HASH=>14, :T_BIGNUM=>3, :T_FILE=>10, :T_DATA=>393, :T_MATCH=>104, :T_COMPLEX=>1, :T_NODE=>5697, :T_ICLASS=>19}#RubyThrowdown
  24. Agenda Introduction & History Ecosystem Tooling Concurrency Windows Deployment Summary of the Good Bits Q&A#RubyThrowdown
  25. MRI & Concurrency Threads (native in 1.9) Fibers (coroutines) Evented IO (EventMachine)#RubyThrowdown
  26. Rubinius & Concurrency Native Threads Fully concurrent in 2.0 Native Fibers EventMachine Actors#RubyThrowdown
  27. JRuby & Concurrency 1st impl w/ Native Threads Fibers backed by threads Threading libraries Java concurrency libraries#RubyThrowdown
  28.    data  =  []    M.times  do  |m|        Thread.new  do            N.times  do  |n|                data  <<  m  *  n            end        end    end#RubyThrowdown
  29. Agenda Introduction & History Ecosystem Tooling Concurrency Windows Deployment Summary of the Good Bits Q&A#RubyThrowdown
  30. Rubinius & Windows™ Rubinius 2.0 1.8.7 / 1.9.2 Full concurrency C-extension support Native Installer#RubyThrowdown
  31. MRI & Windows™ Ruby Installer (http://rubyinstaller.org/) Rails Installer (http://railsinstaller.org/) Some C based gems may not work#RubyThrowdown
  32. JRuby & Windows™ Just works Installer: with/without JVM, 32- or 64-bit Only Ruby w/ 64-bit Win32OLE#RubyThrowdown
  33. Agenda Introduction & History Ecosystem Tooling Concurrency Windows Deployment Summary of the Good Bits Q&A#RubyThrowdown
  34. MRI Deployment For Ruby: apt, rpm, dpkg For Rails: Capistrano, Vlad Web Servers: Unicorn, etc#RubyThrowdown
  35. Rubinius Deployment Identical to MRI but full concurrency Passenger Unicorn or Rainbows! WEBrick#RubyThrowdown
  36. JRuby DeploymentRuby servers WAR files Cloud WEBrick GlassFish EY AppCloud Trinidad Tomcat AppEngine TorqueBox JBoss AWS EB#RubyThrowdown
  37. Pick a Server blog: http://ey.io/webservers Trinidad Mizuno Kirk TorqueBox#RubyThrowdown
  38. Distribute your app https://github.com/nicksieger/warbler INSTALL gem install warbler#RubyThrowdown
  39. $ cd recordstore $ warble executable war rm -f recordstore.war Creating recordstore.war $ java -jar recordstore.war <server starts on port 8080>#RubyThrowdown
  40. Q&A#RubyThrowdown
  41. Top Reasons to use MRI It is canonical Large ecosystem / C support Fast Fun!#RubyThrowdown
  42. Top Reasons: Rubinius Use Today Like MRI First-class Ruby Modern Technology Ruby Tools in Ruby#RubyThrowdown
  43. Top Reasons: JRuby Best of Java and Ruby Mature Platform Performance, Stability, Concurrency#RubyThrowdown
  44. Rails | Sinatra | Rack Memcached | MRI | JRuby | Rubinius Redis Chef Mongrel | Unicorn | Passenger Recipes MySQL nginx HAProxy Linux#RubyThrowdown
  45. #RubyThrowdown
  46. http://ey.io/jrubyftw#RubyThrowdown
  47. #rbxday Friday, August 5, 2011A global day of Rubinius performance testing, bug reporting,community strengthening and super awesome fun times Let’s make it a party! http://rbxday.rubini.us
  48. Want More? Upcoming Webinars August 18 - Rubinius August 25 - JRuby#RubyThrowdown

×