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

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

Docs, specs, tutorials

Rubinius compatibility

More profiling and optimizations

More tools and creature comforts

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.



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:The key differences are: 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 ?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: