RubyConf UY 2010

68
Everything Rubinius Brian Ford brixen on {twitter IRC gmail} RCUY2010 Friday, October 29, 2010

description

Everything Rubinius at RubyConf UY 2010, Montevideo Uruguay

Transcript of RubyConf UY 2010

Page 1: RubyConf UY 2010

Everything Rubinius

Brian Fordbrixen on {twitter IRC gmail}

RCUY2010

Friday, October 29, 2010

Page 2: RubyConf UY 2010

http://www.flickr.com/photos/veganstraightedge

Friday, October 29, 2010

Page 3: RubyConf UY 2010

Friday, October 29, 2010

Page 4: RubyConf UY 2010

Rubinius runs Ruby

Friday, October 29, 2010

Page 5: RubyConf UY 2010

Web rubini.us

Github github.com/evanphx/rubinius

IRC #rubinius

Friday, October 29, 2010

Page 6: RubyConf UY 2010

in dog years,

Rubinius is ~28 yrs old

Friday, October 29, 2010

Page 7: RubyConf UY 2010

Rubinius

how does it work?

Friday, October 29, 2010

Page 8: RubyConf UY 2010

Source → Parser → Compiler

Friday, October 29, 2010

Page 9: RubyConf UY 2010

Source → Parser → Compiler → Virtu

Friday, October 29, 2010

Page 10: RubyConf UY 2010

Source → Parser → Compiler → Virtu

script

class

name

RCUYsuperclass

nilmethod

name

Friday, October 29, 2010

Page 11: RubyConf UY 2010

Source → Parser → Compiler → Virtual Machin

Friday, October 29, 2010

Page 12: RubyConf UY 2010

[ ..., :push_literal, “RCUY”, :push_local, :name, ...]

Source → Parser → Compiler → Virtual Machine → JIT → Gar

Stack

IP = 12

Instruction Sequence

Friday, October 29, 2010

Page 13: RubyConf UY 2010

Source → Parser → Compiler → Virtual Machine → JIT → Gar

Stack

[ ..., :push_literal, “RCUY”, :push_local, :name, ...]

IP = 12

“RCUY”

Instruction Sequence

Friday, October 29, 2010

Page 14: RubyConf UY 2010

[ ..., :push_literal, “RCUY”, :push_local, :name, ...]

Source → Parser → Compiler → Virtual Machine → JIT → Gar

Stack

IP = 14

“RCUY”

Instruction Sequence

Friday, October 29, 2010

Page 15: RubyConf UY 2010

Source → Parser → Compiler → Virtual Machine → JIT → Gar

Stack

IP = 14

“RCUY”

2010

Instruction Sequence

[ ..., :push_literal, “RCUY”, :push_local, :name, ...]

Friday, October 29, 2010

Page 16: RubyConf UY 2010

Source → Parser → Compiler → Virtual Machine → JIT → Gar

Stack

[ ..., :allow_private, :send_stack, :to_s, 0, ...]

IP = 17

“RCUY”

2010

Instruction Sequence

Friday, October 29, 2010

Page 17: RubyConf UY 2010

Source → Parser → Compiler → Virtual Machine → JIT → Gar

Stack

[ ..., :allow_private, :send_stack, :to_s, 0, ...]

IP = 17

“RCUY”

“2010”

Instruction Sequence

Friday, October 29, 2010

Page 18: RubyConf UY 2010

Source → Parser → Compiler → Virtual Machine → JIT → Gar

Stack

Instruction Sequence

[ ..., :send_stack, :to_s, 0, :string_build, 2, ...]

IP = 20

“RCUY”

“2010”

Friday, October 29, 2010

Page 19: RubyConf UY 2010

Source → Parser → Compiler → Virtual Machine → JIT → Gar

Stack

Instruction Sequence

[ ..., :send_stack, :to_s, 0, :string_build, 2, ...]

IP = 20

“RCUY2010”

Friday, October 29, 2010

Page 20: RubyConf UY 2010

Source → Parser → Compiler → Virtual Machine → JIT → Garbage Collector

Friday, October 29, 2010

Page 21: RubyConf UY 2010

Source → Parser → Compiler → Virtual Machine → JIT → Garbage Collector

Friday, October 29, 2010

Page 22: RubyConf UY 2010

Source → Parser → Compiler → Virtual Machine → JIT → Garbage Collector

Friday, October 29, 2010

Page 23: RubyConf UY 2010

Source → Parser → Compiler → Virtual Machine → JIT → Garbage Collector

Friday, October 29, 2010

Page 24: RubyConf UY 2010

Source → Parser → Compiler → Virtual Machine → JIT → Garbage Collector

script

name “RCUY2010”

conference #<RCUY 0x1>

year#<Time 0x2>

Friday, October 29, 2010

Page 25: RubyConf UY 2010

Source → Parser → Compiler → Virtual Machine → JIT → Garbage Collector

script

name “RCUY2010”

conference #<RCUY 0x1>

year#<Time 0x2>

script

Friday, October 29, 2010

Page 26: RubyConf UY 2010

Source → Parser → Compiler → Virtual Machine → JIT → Garbage Collector

script

name “RCUY2010”

conference #<RCUY 0x1>

year#<Time 0x2>

script name

Friday, October 29, 2010

Page 27: RubyConf UY 2010

Source → Parser → Compiler → Virtual Machine → JIT → Garbage Collector

script name conference

Friday, October 29, 2010

Page 28: RubyConf UY 2010

it’s not working

Friday, October 29, 2010

Page 29: RubyConf UY 2010

Backtraces

Friday, October 29, 2010

Page 30: RubyConf UY 2010

Backtraces

Friday, October 29, 2010

Page 31: RubyConf UY 2010

Debugger

Friday, October 29, 2010

Page 32: RubyConf UY 2010

Debugger

Friday, October 29, 2010

Page 33: RubyConf UY 2010

Friday, October 29, 2010

Page 34: RubyConf UY 2010

Friday, October 29, 2010

Page 35: RubyConf UY 2010

Friday, October 29, 2010

Page 36: RubyConf UY 2010

Profiler

Friday, October 29, 2010

Page 37: RubyConf UY 2010

Friday, October 29, 2010

Page 38: RubyConf UY 2010

Friday, October 29, 2010

Page 39: RubyConf UY 2010

Issue Tracker

Friday, October 29, 2010

Page 40: RubyConf UY 2010

Issue Tracker

Friday, October 29, 2010

Page 41: RubyConf UY 2010

Documentation

Friday, October 29, 2010

Page 42: RubyConf UY 2010

Documentation

Friday, October 29, 2010

Page 43: RubyConf UY 2010

But wait, there’s more...

coming soon

Friday, October 29, 2010

Page 44: RubyConf UY 2010

full Ruby concurrency

Friday, October 29, 2010

Page 45: RubyConf UY 2010

support for 1.9

Friday, October 29, 2010

Page 46: RubyConf UY 2010

speeeeeed

Friday, October 29, 2010

Page 47: RubyConf UY 2010

Microsoft® Windows™

Friday, October 29, 2010

Page 48: RubyConf UY 2010

Muchísimas gracias a

Luis Lavena

Friday, October 29, 2010

Page 49: RubyConf UY 2010

But wait, there’s more...

Friday, October 29, 2010

Page 50: RubyConf UY 2010

let’s talk about

inspiration

Friday, October 29, 2010

Page 51: RubyConf UY 2010

Friday, October 29, 2010

Page 52: RubyConf UY 2010

Rubinius has inspired

rubyspecFFIrapa

Friday, October 29, 2010

Page 53: RubyConf UY 2010

Friday, October 29, 2010

Page 54: RubyConf UY 2010

Friday, October 29, 2010

Page 55: RubyConf UY 2010

Friday, October 29, 2010

Page 56: RubyConf UY 2010

Friday, October 29, 2010

Page 57: RubyConf UY 2010

Friday, October 29, 2010

Page 58: RubyConf UY 2010

Friday, October 29, 2010

Page 59: RubyConf UY 2010

Friday, October 29, 2010

Page 60: RubyConf UY 2010

Friday, October 29, 2010

Page 61: RubyConf UY 2010

Friday, October 29, 2010

Page 62: RubyConf UY 2010

Friday, October 29, 2010

Page 63: RubyConf UY 2010

Friday, October 29, 2010

Page 64: RubyConf UY 2010

Friday, October 29, 2010

Page 65: RubyConf UY 2010

Friday, October 29, 2010

Page 66: RubyConf UY 2010

if you help us, Rubinius can be the most awesome Ruby

platform in the universe

Friday, October 29, 2010

Page 67: RubyConf UY 2010

who will commit to using Rubinius as

the default Ruby for one day?

Friday, October 29, 2010

Page 68: RubyConf UY 2010

Thank you

¡Muchas gracias a todos!

Friday, October 29, 2010