Ruby VMs: A Comparison

Post on 13-Nov-2014

343 views 3 download

description

It wasn't long ago that there was just one way to run ruby scripts. The times have changed though, and now there's a wealth of Ruby interpreters to choose from. Should you run your Rails apps on JRuby, IronRuby, or MRI? Where does Rubinius fit in? What benefits might we see from MagLev in the future? In this presentation we'll take a look at all of the different Ruby virtual machines and how to choose what fits best within your enterprise.Watch a video on http://www.bestechvideos.com/2009/03/16/ruby-vms-a-comparison

transcript

Ruby VMsJason Seifer, RailsEnvy.com

1

2

3

MRI4

5

“DeFacto” Standard

6

Production Ready?

7

YES

8

YARV9

Production Ready?

10

No.

11

MacRuby12

Production Ready?

13

No.

14

XRuby15

Production Ready?

16

No.

17

18

“The GemStone/S object server provides an advanced platform for developing, deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical applications, and supports the high-availability online environment demanded by 24X7 operations.”

19

Production Ready?

20

No.

21

Rubinius22

Rubinius VM

• “Ruby in Ruby”

• Used to be C and Ruby

• New VM written in C++

• Better Organized

• Better Tested

• More Potential

23

WTF does that mean?

25

Production Ready?

26

No.

27

IronRuby28

Iron Ruby•Ruby on .Net

•Released under MPL

•Committed to making

IronRuby a first-class Ruby

implementation.

•Major milestone: 1.0

29

IronRuby runs on the DLR

30

DLR Supported Languages

• IronPython

• IronRuby

• Javascript

• Dynamic VB

31

32

DLR runs on top of the CLR

33

34

Production Ready?

35

No.

36

JRuby37

JRuby Wins

38

Fatality

39

Production Ready?

40

YES

41

JRuby Benefits

• Corporate backing.

• Use existing Java code.

• Existing Java infrastructure.

• Most performant Ruby implementation.

• Multi-threaded.

42

Right now, using JRuby is the only way to have

true multi-threaded Ruby programs.

43

$ cd <application>$ glassfish

44

Use JRuby for your enterprise Ruby

applications.

45

Thank you.

46