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

RubyConf UY 2010

May 27, 2015

Download

Technology

Brian Ford

Everything Rubinius at RubyConf UY 2010, Montevideo Uruguay
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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