Ruby VMs Jason Seifer, RailsEnvy.com 1 2 3 MRI 4 5 DeFacto - - PowerPoint PPT Presentation

ruby vms
SMART_READER_LITE
LIVE PREVIEW

Ruby VMs Jason Seifer, RailsEnvy.com 1 2 3 MRI 4 5 DeFacto - - PowerPoint PPT Presentation

Ruby VMs Jason Seifer, RailsEnvy.com 1 2 3 MRI 4 5 DeFacto Standard 6 Production Ready? 7 YES 8 YARV 9 Production Ready? 10 No. 11 MacRuby 12 Production Ready? 13 No. 14 XRuby 15 Production Ready? 16 No. 17 18


slide-1
SLIDE 1

Ruby VMs

Jason Seifer, RailsEnvy.com

1
slide-2
SLIDE 2 2
slide-3
SLIDE 3 3
slide-4
SLIDE 4

MRI

4
slide-5
SLIDE 5 5
slide-6
SLIDE 6

“DeFacto” Standard

6
slide-7
SLIDE 7

Production Ready?

7
slide-8
SLIDE 8

YES

8
slide-9
SLIDE 9

YARV

9
slide-10
SLIDE 10

Production Ready?

10
slide-11
SLIDE 11

No.

11
slide-12
SLIDE 12

MacRuby

12
slide-13
SLIDE 13

Production Ready?

13
slide-14
SLIDE 14

No.

14
slide-15
SLIDE 15

XRuby

15
slide-16
SLIDE 16

Production Ready?

16
slide-17
SLIDE 17

No.

17
slide-18
SLIDE 18 18
slide-19
SLIDE 19

“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

  • perations.”
19
slide-20
SLIDE 20

Production Ready?

20
slide-21
SLIDE 21

No.

21
slide-22
SLIDE 22

Rubinius

22
slide-23
SLIDE 23

Rubinius VM

  • “Ruby in Ruby”
  • Used to be C and Ruby
  • New VM written in C++
  • Better Organized
  • Better Tested
  • More Potential
23
slide-24
SLIDE 24

LLVM

“The Low Level Virtual Machine, generally known as LLVM, is a compiler infrastructure, written in C++, which is designed for compile-time, link-time, run- time, and "idle-time" optimization of programs written in arbitrary imperative programming languages.” Wikipedia

24
slide-25
SLIDE 25

WTF does that mean?

25
slide-26
SLIDE 26

Production Ready?

26
slide-27
SLIDE 27

No.

27
slide-28
SLIDE 28

IronRuby

28
slide-29
SLIDE 29

Iron Ruby

  • Ruby on .Net
  • Released under MPL
  • Committed to making

IronRuby a first-class Ruby implementation.

  • Major milestone: 1.0
29
slide-30
SLIDE 30

IronRuby runs on the DLR

30
slide-31
SLIDE 31

DLR Supported Languages

  • IronPython
  • IronRuby
  • Javascript
  • Dynamic VB
31
slide-32
SLIDE 32 32
slide-33
SLIDE 33

DLR runs on top of the CLR

33
slide-34
SLIDE 34 34
slide-35
SLIDE 35

Production Ready?

35
slide-36
SLIDE 36

No.

36
slide-37
SLIDE 37

JRuby

37
slide-38
SLIDE 38

JRuby Wins

38
slide-39
SLIDE 39

Fatality

39
slide-40
SLIDE 40

Production Ready?

40
slide-41
SLIDE 41

YES

41
slide-42
SLIDE 42

JRuby Benefits

  • Corporate backing.
  • Use existing Java code.
  • Existing Java infrastructure.
  • Most performant Ruby implementation.
  • Multi-threaded.
42
slide-43
SLIDE 43

Right now, using JRuby is the only way to have true multi-threaded Ruby programs.

43
slide-44
SLIDE 44

$ cd <application> $ glassfish

44
slide-45
SLIDE 45

Use JRuby for your enterprise Ruby applications.

45
slide-46
SLIDE 46

Thank you.

46