• Share
  • Email
  • Embed
  • Like
  • Private Content
Rubinius and Ruby | A Love Story
 

Rubinius and Ruby | A Love Story

on

  • 1,974 views

 

Statistics

Views

Total Views
1,974
Views on SlideShare
1,971
Embed Views
3

Actions

Likes
1
Downloads
20
Comments
1

1 Embed 3

http://paper.li 3

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Rubinius and Ruby | A Love Story Rubinius and Ruby | A Love Story Presentation Transcript

    • Rubinius & Ruby A Love Story
    • Shane Becker@veganstraightedge
    • Evan Phoenix @evanphx
    • Brian Ford @brixen
    • http://rubini.us @rubinius
    • The Next 45 Minutesof your lifeWhy We CareWhy You (Should)CareDeveloping with ToolsQuestion & Answer Time
    • Why We Care
    • Why We Care A Bit of History
    • A Bit of History 2002 Evan started using Ruby
    • A Bit of History 2006 Evan started to figure out how to improve Ruby
    • A Bit of History 2006Experimented with cleaning up and improvements in MRI 1.8.2
    • A Bit of History 2006 Realize that Ruby needed a fresh start
    • A Bit of History 2006 Started Rubinius
    • A Bit of History 2006 Started Rubinius on Honeymoon in Bali
    • Why We Care The Ruby Language
    • The RubyLanguageRubinius is a faithful implementation ofthe Ruby Language
    • The Ruby Language Rubinius is a drop-inreplacement for MRI 1.8.7
    • Why We CareDrop-in Replacement
    • Drop-inReplacementFull method compatibility via RubySpec
    • Drop-inReplacementMajor C-API compatibility
    • Drop-inReplacementMajor C-API compatibility with some caveats
    • Why We Care Improve Ruby
    • Improve Ruby Ruby should be goodenough to use as its own underpinnings
    • Improve RubyMRI’s core (Array, Hash, etc) contains no Ruby
    • Improve RubyStrive for scalability and performance for the Ruby language
    • Why We Care Performance
    • PerformanceMRI’s implementation of Ruby is slow
    • Performance Prevalence of C extensionsdemonstrate MRI’s slowness
    • Performance Strive to bring Ruby itself up to speed
    • Why We Care Fast Ruby
    • Fast RubyUse established techniques to make Ruby itself fast
    • Fast RubyEstablished Techniques Compile Ruby to machine code
    • Fast RubyEstablished Techniques Profit!
    • Why We Care Faster Ruby for All
    • Faster Ruby for AllCapable of running Ruby code
    • Faster Ruby for AllCapable of running Ruby code up to 100x faster than MRI
    • Faster Ruby for AllHelps change Ruby’s standing in the programming world
    • Why We CareManage Memory Better
    • ManageMemory BetterVery fast object allocation
    • ManageMemory Better All objects are extremely lightweight
    • ManageMemory Better All objects are extremely lightweight 56 bytes vs 500 bytes
    • ManageMemory Better Compact and release memory to OS
    • Why We CareBetter Memory Usage
    • BetterMemory Usage MRI’s GC is broken
    • BetterMemory Usage MRI’s GC is broken Conservative garbage collection is flawed
    • BetterMemory UsageRubinius has a better way
    • Why We CareReal World Memory Usage
    • Real World MemoryMade for Ruby applications
    • Real World MemoryMade for Ruby applications Ruby is objects
    • Real World Memory Made for Ruby applicationsRubinius is made for objects
    • Real World MemoryMade for Ruby applications LOTS of objects
    • Why We CareReal World Memory Usage An Experiment
    • An Experiment10.million.times do create 101 objects save 1 of themend
    • An Experimenthttps://gist.github.com/1008305
    • MBs300025002000 MRI15001000 500 0
    • An Experiment 10,000,000 times Create 101 objects Save one of them
    • An Experiment1,010,000,000 objects created 10,000,000 objects saved
    • MBs300025002000 MRI15001000 500 Rubinius 0
    • Real World MemoryLove your objects
    • Developingwith Tools
    • BetterTechnologyFor Running Ruby
    • BetterTechnologyFor Writing Ruby
    • Debugging We All Do It
    • PDDp-Driven Debugging
    • <screencast> p-Driven Debugging
    • StepsLocateInstrumentRepeat
    • Good ToolsGo With The Flow
    • Good ToolsSave Time & Effort
    • <screencast>Debugger Debugging
    • StepsLocateRunExplore
    • DebunkingExposing The Falseness
    • TestingA Cherished Tool
    • Testing Don’t Need NoStinkin’ Debugger
    • Debugginggem install rbx-trepanning
    • ProfilingRefining Code
    • ProfilingGood Judgment
    • <screencast> Profiling
    • ProfilingMind The Gap
    • Jump Into Rubinius
    • Ruby Swaprvm install rbx-2.0.0pre
    • Ruby Swaprbx -S bundle install
    • Ruby Swaprbx -S rails s
    • Deploying On AppCloud
    • <screencast> On AppCloud http://ey.io/rbxdeploy
    • Deploying On AppCloudhttp://ey.io/rbxdeploy
    • Why You(should) Care
    • Why You Care You love Ruby
    • Why You Care You love Ruby We love Ruby too!
    • Why You Care You want Ruby used in more places for more things
    • Why You CareYou want Ruby used more We do too!
    • Use Ruby™
    • Rubinius & Ruby A Love Story
    • Shane Becker@veganstraightedge
    • Evan Phoenix @evanphx
    • Brian Ford @brixen
    • http://rubini.us @rubinius
    • http://engineyard.com @engineyard
    • Questions &AnswersTime
    • NEXT TIME onEngine Yard webinars… JRuby Jam Session featuring Nick Seiger Thursday, September 15, 2011 11:00-11:50am PDT Register: engineyard.com/developer/events