On Jan 6, 2008, at 8:46 PM, Corey Jewett wrote:

> Before Jeremy even had a chance to port Vintage to Rack I swiped the  
> evented mongrel hooks from merb and ran some very rough numbers on  
> my aging MacBook Pro (Core Duo, 2.16).
>
> Each set is an ab run of 1000 hits @ 1, 10, and 100 concurrency. No  
> other ab flags were used. I only did one pass, so the numbers are  
> not properly averaged. (Not to mention I ran was ab and merb/vintage  
> on the same dual core machine.)
>
> merb/ab.mutex.mongrel:Requests per second:    421.94 [#/sec] (mean)
> merb/ab.mutex.mongrel:Requests per second:    378.36 [#/sec] (mean)
> merb/ab.mutex.mongrel:Requests per second:    284.33 [#/sec] (mean)
>
> merb/ab.mutex.evented:Requests per second:    444.44 [#/sec] (mean)
> merb/ab.mutex.evented:Requests per second:    466.85 [#/sec] (mean)
> merb/ab.mutex.evented:Requests per second:    490.68 [#/sec] (mean)
>
> merb/ab.no-mutex.mongrel:Requests per second:    420.70 [#/sec] (mean)
> merb/ab.no-mutex.mongrel:Requests per second:    378.93 [#/sec] (mean)
> merb/ab.no-mutex.mongrel:Requests per second:    290.28 [#/sec] (mean)
>
> merb/ab.no-mutex.evented:Requests per second:    447.23 [#/sec] (mean)
> merb/ab.no-mutex.evented:Requests per second:    459.56 [#/sec] (mean)
> merb/ab.no-mutex.evented:Requests per second:    478.01 [#/sec] (mean)
>
> vintage/ab.erb.mongrel:Requests per second:    981.35 [#/sec] (mean)
> vintage/ab.erb.mongrel:Requests per second:    650.20 [#/sec] (mean)
> vintage/ab.erb.mongrel:Requests per second:    406.17 [#/sec] (mean)
>
> vintage/ab.erb.evented:Requests per second:    1250.00 [#/sec] (mean)
> vintage/ab.erb.evented:Requests per second:    1338.69 [#/sec] (mean)
> vintage/ab.erb.evented:Requests per second:    1288.66 [#/sec] (mean)
>
>
> This is for a fresh Merb-0.4.2 project with an Erb template of...  
> "Hello World!". Same for Vintage. I was intrigued that disabling the  
> mutex in Merb (an undocumented feature) actually made stock mongrel  
> performance poorer. Merb was run in production mode, Vintage has no  
> similar setting.
>
> Corey



	I think you made the classic mistake of comparing a merb template  
rendered inside of a layout rather than a standalone template like you  
are testing with vintage. Here are my numbers for the same template  
with no layout in merb and vintage, Also note that this goes through  
merbs router and instantiates a full controlller object which vintage  
does not.

Merb evented mongrel:

ab -n 1000 -c 1   Requests per second:    911.04 [#/sec] (mean)
ab -n 1000 -c 10  Requests per second:    1073.71 [#/sec] (mean)
ab -n 1000 0c 100 Requests per second:    1232.75 [#/sec] (mean)

Vintage evented mongrel:

ab -n 1000 -c 1   Requests per second:    1103.15 [#/sec] (mean)
ab -n 1000 -c 10  Requests per second:    1232.75 [#/sec] (mean)
ab -n 1000 0c 100 Requests per second:    1309.67 [#/sec] (mean)


	Clearly a bit faster but not as much as indicated when compared in a  
fair test.


Cheers-
- Ezra Zygmuntowicz
-- Founder & Software Architect
-- ezra / engineyard.com
-- EngineYard.com