everything rubinius

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

Upload: engine-yard

Post on 15-May-2015

685 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Everything Rubinius

Everything Rubinius

Brian Fordbrixen on {twitter IRC gmail}

RCUY2010

Friday, October 29, 2010

Page 2: Everything Rubinius

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

Friday, October 29, 2010

Page 3: Everything Rubinius

Friday, October 29, 2010

Page 4: Everything Rubinius

Rubinius runs Ruby

Friday, October 29, 2010

Page 5: Everything Rubinius

Web rubini.us

Github github.com/evanphx/rubinius

IRC #rubinius

Friday, October 29, 2010

Page 6: Everything Rubinius

in dog years,

Rubinius is ~28 yrs old

Friday, October 29, 2010

Page 7: Everything Rubinius

Rubinius

how does it work?

Friday, October 29, 2010

Page 8: Everything Rubinius

Source → Parser → Compiler

Friday, October 29, 2010

Page 9: Everything Rubinius

Source → Parser → Compiler → Virtu

Friday, October 29, 2010

Page 10: Everything Rubinius

Source → Parser → Compiler → Virtu

script

class

name

RCUYsuperclass

nilmethod

name

Friday, October 29, 2010

Page 11: Everything Rubinius

Source → Parser → Compiler → Virtual Machin

Friday, October 29, 2010

Page 12: Everything Rubinius

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

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

Stack

IP = 12

Instruction Sequence

Friday, October 29, 2010

Page 13: Everything Rubinius

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: Everything Rubinius

[ ..., :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: Everything Rubinius

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: Everything Rubinius

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: Everything Rubinius

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: Everything Rubinius

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: Everything Rubinius

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: Everything Rubinius

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

Friday, October 29, 2010

Page 21: Everything Rubinius

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

Friday, October 29, 2010

Page 22: Everything Rubinius

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

Friday, October 29, 2010

Page 23: Everything Rubinius

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

Friday, October 29, 2010

Page 24: Everything Rubinius

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

script

name “RCUY2010”

conference #<RCUY 0x1>

year#<Time 0x2>

Friday, October 29, 2010

Page 25: Everything Rubinius

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

script

name “RCUY2010”

conference #<RCUY 0x1>

year#<Time 0x2>

script

Friday, October 29, 2010

Page 26: Everything Rubinius

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: Everything Rubinius

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

script name conference

Friday, October 29, 2010

Page 28: Everything Rubinius

it’s not working

Friday, October 29, 2010

Page 29: Everything Rubinius

Backtraces

Friday, October 29, 2010

Page 30: Everything Rubinius

Backtraces

Friday, October 29, 2010

Page 31: Everything Rubinius

Debugger

Friday, October 29, 2010

Page 32: Everything Rubinius

Debugger

Friday, October 29, 2010

Page 33: Everything Rubinius

Friday, October 29, 2010

Page 34: Everything Rubinius

Friday, October 29, 2010

Page 35: Everything Rubinius

Friday, October 29, 2010

Page 36: Everything Rubinius

Profiler

Friday, October 29, 2010

Page 37: Everything Rubinius

Friday, October 29, 2010

Page 38: Everything Rubinius

Friday, October 29, 2010

Page 39: Everything Rubinius

Issue Tracker

Friday, October 29, 2010

Page 40: Everything Rubinius

Issue Tracker

Friday, October 29, 2010

Page 41: Everything Rubinius

Documentation

Friday, October 29, 2010

Page 42: Everything Rubinius

Documentation

Friday, October 29, 2010

Page 43: Everything Rubinius

But wait, there’s more...

coming soon

Friday, October 29, 2010

Page 44: Everything Rubinius

full Ruby concurrency

Friday, October 29, 2010

Page 45: Everything Rubinius

support for 1.9

Friday, October 29, 2010

Page 46: Everything Rubinius

speeeeeed

Friday, October 29, 2010

Page 47: Everything Rubinius

Microsoft® Windows™

Friday, October 29, 2010

Page 48: Everything Rubinius

Muchísimas gracias a

Luis Lavena

Friday, October 29, 2010

Page 49: Everything Rubinius

But wait, there’s more...

Friday, October 29, 2010

Page 50: Everything Rubinius

let’s talk about

inspiration

Friday, October 29, 2010

Page 51: Everything Rubinius

Friday, October 29, 2010

Page 52: Everything Rubinius

Rubinius has inspired

rubyspecFFIrapa

Friday, October 29, 2010

Page 53: Everything Rubinius

Friday, October 29, 2010

Page 54: Everything Rubinius

Friday, October 29, 2010

Page 55: Everything Rubinius

Friday, October 29, 2010

Page 56: Everything Rubinius

Friday, October 29, 2010

Page 57: Everything Rubinius

Friday, October 29, 2010

Page 58: Everything Rubinius

Friday, October 29, 2010

Page 59: Everything Rubinius

Friday, October 29, 2010

Page 60: Everything Rubinius

Friday, October 29, 2010

Page 61: Everything Rubinius

Friday, October 29, 2010

Page 62: Everything Rubinius

Friday, October 29, 2010

Page 63: Everything Rubinius

Friday, October 29, 2010

Page 64: Everything Rubinius

Friday, October 29, 2010

Page 65: Everything Rubinius

Friday, October 29, 2010

Page 66: Everything Rubinius

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

platform in the universe

Friday, October 29, 2010

Page 67: Everything Rubinius

who will commit to using Rubinius as

the default Ruby for one day?

Friday, October 29, 2010

Page 68: Everything Rubinius

Thank you

¡Muchas gracias a todos!

Friday, October 29, 2010