disini temen2 pada doyan infoQ gak?
submit if true
source
http://www.infoq.com/news/2007/08/performance-ruby-on-merb
High Performance Ruby MVC: Merb
Posted by Sebastien Auvray on Aug 26, 2007 03:49 PM
Community
Ruby
Topics
Performance & Scalability,
Ruby on Rails
There have been long debates on Rails performance. Rails can really slow down
when
your application deals with a lot of File exchange or concurrent connections.
That
is what Merb has been designed for. Ezra Zygmuntowicz, from Engine Yard,
started
working on Merb (Mongrel+Erb) 10 months ago and gave a presentation this month
about it at Ruby Hoedown. Ezra originally tried to optimize Rails to make it
more
threadsafe, but at the end it was easier to make a new framework than trying to
change ActionPack, (the View and Controller parts of Rails).
Merb is similar to Rails in many ways. What differentiates Merb from Rails is:
* It has no cgi.rb
* It has a clean room implementation of ActionPack
* It is threadsafe with configurable Mutex Locks (Routing is also
threadsafe)
* It has been designed favoring simplicity and clarity over magic
* A light core framework easy to extend through hacks
The key differences are:
* No auto-render. The return value of your controller actions is what gets
returned to client. You have to explicitly call a render method if you want it.
* Merb's render method just returns a string, allowing for multiple
renders
and additional flexibility over similar functionality in Rails
* PartControllers allow for encapsulated apps without big performance cost
A sample Merb application by Zack Chandler is available. Merb v0.4 Core is
quite
complete and Ezra promised it would stay light, with additional features
provided
by plugins.
What's in the pipeline for next releases ?
* Docs, specs, tutorials
* Rubinius compatibility
* More profiling and optimizations
* More tools and creature comforts
Concerning performance, Phil Misiowiec released an exhaustive comparison of
Rails,
Merb performance (using Swiftiply and Nginx). Phil's goal was to test real
world
clustering configurations. He looked at how concurrency affected the
application
running Rails vs Merb with various session management options (Disabled,
Database
stored, Memcached), and logging. In all tests, Merb performs better than Rails,
and depending on the App Server and HTTP Server, it outperformed Rails by
5%-20%.
Phil draws the conclusion:
Using Evented Mongrels with Merb gives you the best bang for the buck
overall
when high concurrency is expected [...] be sure you understand your
application's
usage patterns and not over-engineer your solution. In most cases, running
Rails
with a standard Mongrel cluster may be just fine for you.
Bookmark Digg+ , Reddit+ , del.icio.us+
--
$ ruby-19 -e "puts ({name:'arie', blog:'http://ariekusumaatmaja.wordpress.com',
community:%w(http://groups.yahoo.com/groups/id-ruby
http://www.linkedin.com/in/ariekeren)}).is_a?(Hash).to_s.concat(' erl ghc z')"
true erl ghc z