On 9/8/07, Ashley Moran <[EMAIL PROTECTED]> wrote: > Just out of curiosity, does anyone here use Nitro? I'm going to > switch from Rails to Nitro for one of my own projects. I've heard it > runs happily multi-threaded. Anyone noticed any difference in > performance? (Or for that matter, with other frameworks that run > multi-threaded like Camping and Merb?) To my knowledge, the only > apps big enough for scalability to be a serious issue are all in Rails.
I don't use Nitro, but I have followed its development for a couple years, and have done some benchmarks with it. It is somewhat faster than Rails (though there was a very extensive rewrite that is nearing completion for the 0.50 release, and I have no idea what the rewrite has done to overall performance), and yes, it's Mongrel handler runs in a multithreaded mode. Actually, every framework except for Rails will Run in that way. Merb, as an example, runs multithreaded, and is one of the fastest Ruby frameworks (in my benchmarks, only IOWA is faster), and it has some projects that do use clusters (I am helping someone setup a small clustered app for demo purposes this weekend, for example). I have written several applications that were designed for clustering and for heavy, multiserver use with IOWA (but the customers never ended up taking them there, alas). Ramaze is also a nice, multithread-safe framework that merits some attention. It is kind of like Nitro's Merb. Inspired by Nitro, but lighter weight, reasonably fast, with some good ideas in it. > Also, this thread has answered the question I've wondered lately, > namely that MRI can't context switch if one thread is in a C > extension like a database adapter?. Will Rubinius go any way to help > this, assuming the adapter is re-entrant? With Rubinius (or JRuby) it is not the same issue because they are using OS level threads. Kirk Haines _______________________________________________ Mongrel-users mailing list Mongrel-users@rubyforge.org http://rubyforge.org/mailman/listinfo/mongrel-users