merb camp keynote

81
Merb Lessons Learned & Where Do We Go From Here

Upload: yehuda-katz

Post on 18-May-2015

10.716 views

Category:

Technology


2 download

DESCRIPTION

MerbCamp Closing Keynote (Ruby is Not Slow & Merb 2.0)

TRANSCRIPT

Page 1: Merb Camp Keynote

Merb

Lessons Learned & Where Do We Go From Here

Page 2: Merb Camp Keynote

Engine Yard

Page 3: Merb Camp Keynote

Ruby is slow

Page 4: Merb Camp Keynote

“It’s also worth mentioning that there shouldn’t be doubt in anybody’s mind at this point that Ruby itself is slow. It’s great that people are hard at work on faster implementations of the language, but right now, it’s tough.”

Alex Payne, Twitter

Page 5: Merb Camp Keynote

Does this discourage me from Ruby or Rails? Hell no. To me the elegance of the language completely dominates its flaws... I’ll wait for the performance and scale issues to be fixed in subsequent releases

Daniel Miessler

Page 6: Merb Camp Keynote

You will also find that Ruby is one of the slowest languages in existence.

Sam ([email protected])

Page 7: Merb Camp Keynote

"Ruby is slow": a JIT is under development, the VM has a lot of room for performance improvements, and hardware keeps getting faster. Java was slow for the hadware that existed when it was originally created.

Luis ([email protected])

Page 8: Merb Camp Keynote

I for one am scared of Ruby because ... it's known to be slow, so if you become The Next MySpace, you'll be buying 5 times as many boxes as the .NET guy down the hall.

Joel Spolsky

Page 9: Merb Camp Keynote

Rails is for the vast majority of web applications Fast Enough... I just happen to care much more about free developer cycles and am willing to trade the former for the latter.

David Heinemeier Hansson

Page 10: Merb Camp Keynote

Would you rather come to market late on the back of an inferior development environment (asp.net) or make it to market first with a superior development system and work to alleviate the scalability issues?

Jim Jones, RunFatBoy.net

Page 11: Merb Camp Keynote

Ruby is so embarassing.

Page 12: Merb Camp Keynote

To Summarize

Page 13: Merb Camp Keynote

Rails is slow.

Page 14: Merb Camp Keynote

Ruby is slow.

Page 15: Merb Camp Keynote

“The slowest programming language in the world”

Page 16: Merb Camp Keynote

Our response?

Page 17: Merb Camp Keynote

It’s ok.

Page 18: Merb Camp Keynote

I program faster.

Page 19: Merb Camp Keynote
Page 20: Merb Camp Keynote

WTF!

Page 21: Merb Camp Keynote

Someone must have done some benchmarks, right?

Page 22: Merb Camp Keynote
Page 23: Merb Camp Keynote

Simple, real app

Page 24: Merb Camp Keynote

raw PHP: 331 rps

Page 25: Merb Camp Keynote

cakephp: 3.6

Page 26: Merb Camp Keynote

with code acceleration

Page 27: Merb Camp Keynote

88 rps. With Rails.

Page 28: Merb Camp Keynote

Existing results?

Page 29: Merb Camp Keynote

Let’s try and replicate with Merb

Page 30: Merb Camp Keynote

Hello world.

Page 31: Merb Camp Keynote

Merb

Page 32: Merb Camp Keynote

Merb Static HTML

Page 33: Merb Camp Keynote

Merb Static HTML PHP

Page 34: Merb Camp Keynote

Merb Static HTML PHP Cake

Page 35: Merb Camp Keynote

While we’re on the topic of benchmarks

Page 36: Merb Camp Keynote

Merb router Merb controller Sinatra Rails

Page 37: Merb Camp Keynote

Merb router Merb controller Sinatra Rails CakePHP

Page 38: Merb Camp Keynote

We don’t need to be embarassed

Page 39: Merb Camp Keynote
Page 40: Merb Camp Keynote

The future...

Page 41: Merb Camp Keynote

Merb 2.0

Page 42: Merb Camp Keynote

Modular

Page 43: Merb Camp Keynote

Integrated

Page 44: Merb Camp Keynote

“It’s hard”

Page 45: Merb Camp Keynote

Yep.

Page 46: Merb Camp Keynote

Django.

Page 47: Merb Camp Keynote
Page 48: Merb Camp Keynote
Page 49: Merb Camp Keynote

Edit Your DB (Auto-admin)

Page 50: Merb Camp Keynote

Admin Hooks for Slices

Page 51: Merb Camp Keynote

Admin Hooks for Slices (central /admin)

Page 52: Merb Camp Keynote

Merb ORM interface

Page 53: Merb Camp Keynote

Possible to build stacks with AR/Prototype

Page 54: Merb Camp Keynote

Mailer becomes Messenger

Page 55: Merb Camp Keynote

Process

Page 56: Merb Camp Keynote

1.0 is a stake in the ground

Page 57: Merb Camp Keynote

1.x are back-compatible, stable experiments

Page 58: Merb Camp Keynote

We will run the 1.0 public spec suite against 1.x releases

Page 59: Merb Camp Keynote

We will support 1.0 via 1.0.x

Page 60: Merb Camp Keynote

Once 1.2 is released, only 1.0 and 1.2 are supported with bug fixes.

Page 61: Merb Camp Keynote

We will backport security patches to 1.x until 2.0.

Page 62: Merb Camp Keynote

Public API means extensive community involvement

Page 63: Merb Camp Keynote

Keep an eye on slices

Page 64: Merb Camp Keynote

To summarize:

Page 65: Merb Camp Keynote

To summarize: Merb 2.0 is about Rapid Prototyping

Page 66: Merb Camp Keynote

To summarize: Merb 2.0 is still metal

Page 67: Merb Camp Keynote

Opt-out should be granular

Page 68: Merb Camp Keynote

Legos

Page 69: Merb Camp Keynote

Legos vs. Duplos

Page 70: Merb Camp Keynote

Want to get involved?

Page 71: Merb Camp Keynote

Central slice repository

Page 72: Merb Camp Keynote

Work on the wiki

Page 73: Merb Camp Keynote

Help test RC1

Page 74: Merb Camp Keynote

Report missing functionality in @api public

Page 75: Merb Camp Keynote

Experiment

Page 76: Merb Camp Keynote

Report success

Page 77: Merb Camp Keynote

Merbunity.com:

Page 78: Merb Camp Keynote

Merbunity.com: List Your Site

Page 79: Merb Camp Keynote

Thank you!

• Carl Lerche

• Matt Aimonetti

• Ezra Zygmuntowicz

• Wayne Seguin

• Michael Ivey

• Fabien Franzen

• Michael Klishkin

• Paul Sadauskas

• Andy Delcambre

• Avrohom Katz

• Ben Burkert

• Daniel Neighman

• Tim Carey-Smith

• Drew Colthorp

• Rob Kaufman

• Wesley Beary

• Patrick Crowley

• Ryan Felton

• Leah Silber

• FiveRuns

• NewRelic

• topfunky

Page 80: Merb Camp Keynote

And Everyone Else I Missed ;)

Page 81: Merb Camp Keynote

Questions?