98
Treasure Island

Treasure Island -- Concurrency in JRuby

Embed Size (px)

DESCRIPTION

talk given by @phuesler and me on 2012-04-19 at railsberry 2012 in krakow, poland

Citation preview

Page 1: Treasure Island -- Concurrency in JRuby

Treasure Island

Page 2: Treasure Island -- Concurrency in JRuby
Page 3: Treasure Island -- Concurrency in JRuby

Tour Guides

Page 4: Treasure Island -- Concurrency in JRuby
Page 5: Treasure Island -- Concurrency in JRuby
Page 6: Treasure Island -- Concurrency in JRuby

@tlossen

Page 7: Treasure Island -- Concurrency in JRuby

@phuesler

Page 8: Treasure Island -- Concurrency in JRuby
Page 9: Treasure Island -- Concurrency in JRuby

“The Free Lunch is Over.”— Herb Sutter (!""#)

Page 10: Treasure Island -- Concurrency in JRuby
Page 11: Treasure Island -- Concurrency in JRuby

Concurrency

Page 12: Treasure Island -- Concurrency in JRuby
Page 13: Treasure Island -- Concurrency in JRuby
Page 14: Treasure Island -- Concurrency in JRuby

Fin?

Page 15: Treasure Island -- Concurrency in JRuby
Page 16: Treasure Island -- Concurrency in JRuby

Concurrency

Page 17: Treasure Island -- Concurrency in JRuby

Multi Core

Page 18: Treasure Island -- Concurrency in JRuby
Page 19: Treasure Island -- Concurrency in JRuby
Page 20: Treasure Island -- Concurrency in JRuby

Thread Concurrency

Page 21: Treasure Island -- Concurrency in JRuby

!fork()

Page 22: Treasure Island -- Concurrency in JRuby

Rubies!!!

Page 23: Treasure Island -- Concurrency in JRuby

GIL

Page 25: Treasure Island -- Concurrency in JRuby

Ruby MRI 1.8 X

REE 1.8 X

Ruby MRI 1.9 X

IronRuby (✔)

Maglev ?

Rubinius ✔

JRuby ✔

MacRuby ✔

Page 26: Treasure Island -- Concurrency in JRuby

JRuby

Page 27: Treasure Island -- Concurrency in JRuby

Java Island

Page 28: Treasure Island -- Concurrency in JRuby

Multi-Threading

Page 29: Treasure Island -- Concurrency in JRuby
Page 30: Treasure Island -- Concurrency in JRuby

Evil?

Page 31: Treasure Island -- Concurrency in JRuby
Page 32: Treasure Island -- Concurrency in JRuby
Page 33: Treasure Island -- Concurrency in JRuby
Page 34: Treasure Island -- Concurrency in JRuby

java.util.concurrent

Page 35: Treasure Island -- Concurrency in JRuby
Page 36: Treasure Island -- Concurrency in JRuby
Page 37: Treasure Island -- Concurrency in JRuby

AtomicBoolean

Page 38: Treasure Island -- Concurrency in JRuby

CountDownLatch

Page 39: Treasure Island -- Concurrency in JRuby

Cyclic Barrier

Page 40: Treasure Island -- Concurrency in JRuby
Page 41: Treasure Island -- Concurrency in JRuby

Executor

Page 42: Treasure Island -- Concurrency in JRuby

Future

Page 43: Treasure Island -- Concurrency in JRuby
Page 44: Treasure Island -- Concurrency in JRuby

Actors

Page 45: Treasure Island -- Concurrency in JRuby
Page 46: Treasure Island -- Concurrency in JRuby

Bad Actors

Page 47: Treasure Island -- Concurrency in JRuby
Page 48: Treasure Island -- Concurrency in JRuby

and the nominees are...

Page 49: Treasure Island -- Concurrency in JRuby
Page 50: Treasure Island -- Concurrency in JRuby

MRI

Page 51: Treasure Island -- Concurrency in JRuby

Better Actors

Page 52: Treasure Island -- Concurrency in JRuby

Erlang

Page 53: Treasure Island -- Concurrency in JRuby

Scala

Page 54: Treasure Island -- Concurrency in JRuby

Rubinius

Page 55: Treasure Island -- Concurrency in JRuby

JRuby

Page 56: Treasure Island -- Concurrency in JRuby

Frameworks

Page 57: Treasure Island -- Concurrency in JRuby
Page 58: Treasure Island -- Concurrency in JRuby
Page 59: Treasure Island -- Concurrency in JRuby

Akka

Page 60: Treasure Island -- Concurrency in JRuby
Page 61: Treasure Island -- Concurrency in JRuby

Scala

Page 62: Treasure Island -- Concurrency in JRuby

Heavily Inspired by Erlang

Page 63: Treasure Island -- Concurrency in JRuby

Simple Concurrency

Page 64: Treasure Island -- Concurrency in JRuby

Distributed

Page 65: Treasure Island -- Concurrency in JRuby

Fault Tolerant

Page 66: Treasure Island -- Concurrency in JRuby

Supervisors

Page 67: Treasure Island -- Concurrency in JRuby
Page 68: Treasure Island -- Concurrency in JRuby

Fast

Page 69: Treasure Island -- Concurrency in JRuby
Page 70: Treasure Island -- Concurrency in JRuby

Can it be used with JRuby?

Page 71: Treasure Island -- Concurrency in JRuby

Yes*

Page 72: Treasure Island -- Concurrency in JRuby

Moarrrrr!!!!

Page 73: Treasure Island -- Concurrency in JRuby

STM

Page 74: Treasure Island -- Concurrency in JRuby
Page 75: Treasure Island -- Concurrency in JRuby
Page 76: Treasure Island -- Concurrency in JRuby
Page 77: Treasure Island -- Concurrency in JRuby
Page 78: Treasure Island -- Concurrency in JRuby
Page 79: Treasure Island -- Concurrency in JRuby
Page 80: Treasure Island -- Concurrency in JRuby
Page 81: Treasure Island -- Concurrency in JRuby
Page 82: Treasure Island -- Concurrency in JRuby
Page 83: Treasure Island -- Concurrency in JRuby
Page 84: Treasure Island -- Concurrency in JRuby
Page 85: Treasure Island -- Concurrency in JRuby
Page 86: Treasure Island -- Concurrency in JRuby
Page 87: Treasure Island -- Concurrency in JRuby
Page 88: Treasure Island -- Concurrency in JRuby
Page 89: Treasure Island -- Concurrency in JRuby
Page 90: Treasure Island -- Concurrency in JRuby

Evented

Page 91: Treasure Island -- Concurrency in JRuby

Disruptor

Page 93: Treasure Island -- Concurrency in JRuby

Q & A

Page 94: Treasure Island -- Concurrency in JRuby

“There ain’t no such thing as a free lunch.”— Robert A. Heinlein

Page 96: Treasure Island -- Concurrency in JRuby
Page 97: Treasure Island -- Concurrency in JRuby

CreditsAjith Kumar (Flickr)

tontoncopt (Flickr)

Hatem Riahi (Flickr)

Stefanie (Flickr)

Page 98: Treasure Island -- Concurrency in JRuby

CreditsBarry Skeates (Flickr)

Hillary White (Flickr)

David Thompson (Flickr)

“Dope Zebra”, Rhett & Link