The Road to Passenger 3: Performance
blog.phusion.nl
blog.phusion.nl
I was a little disappointed to read this comment though:
Needless to say, we’ve performed our own benchmarks already and have concluded
that “the self-proclaimed fastest deployment solution” really isn’t
the fastest deployment solution compared to Phusion Passenger 3. ;-)
The comment seemed a little snarky to me. Never met these folks in person, but all I have heard is good things about them. So, I hope it was just a tongue in cheek comment about the competitor solution. :-)Most of the times competition is good for everyone, as it raises the bar and in general improves helps improve the quality of the solutions.
Hope they keep coming up with more such good things in future.
Disclaimer: I am the co-creator of the 'self proclaimed fastest ..' referred in the post. - http://webroar.in/blog/2009/11/25/comparison-of-rails-deploy...
I am no longer involved in the project, so would not be able to say anything on behalf of the folks who currently taking care of it now.
Love your stuff.
I'll just leave it here for now.
If you ever happen to visit India, do let me know, would be happy to catch up over a beer (or your favorite drink).
A hyperbolic warning, to not believe the hype.
I like the move to zero-copy, though. I think that's the right thing to do. I wrote a Smalltalk zero-copy templating engine for an in-house web application server in the early 2000's. I think zero-copy is one case where it's not pre-optimization to plan ahead. We didn't get this far, but we could've implemented some buffer caches and put the vast majority of the templating stuff into Perm-Space where the garbage collector wouldn't have to touch it at all!
I think what they were saying is that they wanted to benchtest raw Passenger performance instead of Rails performance. Your Rails app will almost certainly see some benefit from Passenger 3, but they didn't want to distort their testing by throwing Rails into the mix. Makes sense to me.
My point is that if, in my Rails app, 5% of the time is taken up by Passenger in a typical request, even big improvements like these are just not going to mean much in the real world.
Perhaps they can shed some light on what real world percentages of request time for Passenger vs Rails+App might look like.
I'm not so sure of that considering your original comment. That's why I explained it to so plainly. The rest is unimportant detail.
> Some key Ruby code has been replaced by C code.
Ew. I feel sorry for them. "C for speed" is C for a calcifying creep across your application. Necessary at times, but only if your language isn't good enough.