[Mongrel] Mongrel 1.1

Evan Weaver evan at cloudbur.st
Fri Nov 2 01:47:18 EDT 2007

The pure Ruby classifier is faster than the C classifier in the
pathological case of only one handler (most Rails apps). They both
scale linearly up to about 14 urls, at which point the C classifier
performance curve goes flat. Hardly anybody uses that many handlers,
so we dumped the 450 line Trie and C classifier for 30-odd lines of
Ruby. This makes JRuby support much easier.

But seriously, even 8ish urls, the performance penalty per request for
the Ruby classifier is about 5 microseconds per request on a Mac Mini.
When your app is returning requests in the 100 microsecond range, then
maybe you should start to care; until then, no.

The C classifier is still available in the mongrel_experimental gem;
if you install it, it will automatically be used.


On Nov 1, 2007 1:11 PM,  <will at hotgazpacho.com> wrote:
> Ah, well that makes sense!
> Thanks for clearing that up!
> Quoting Kirk Haines <wyhaines at gmail.com>:
> > On 11/1/07, will at hotgazpacho.com <will at hotgazpacho.com> wrote:
> >> I'm curious to know why the URL classifier was moved from C code to
> >> Ruby code. I am under the impression that Ruby code is often much
> >> slower than C extensions. I'm also under the impression that the URL
> >> classifier is somewhere that speed would be desirable.
> >
> > C code will generally be faster than Ruby code, yes.
> >
> > The thing with the classifier is that for small numbers of urls to
> > classify, the pure ruby solution is as fast or faster than the trie
> > based C classifier, and the decision was made that the simplification
> > represented by switching to a pure ruby solution there was a
> > beneficial tradeoff, since most people do not have more than a dozen
> > handlers registered with a mongrel instance, so for most people there
> > will be no performance loss.
> >
> >
> > Kirk Haines
> > _______________________________________________
> > Mongrel-users mailing list
> > Mongrel-users at rubyforge.org
> > http://rubyforge.org/mailman/listinfo/mongrel-users
> >
> _______________________________________________
> Mongrel-users mailing list
> Mongrel-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/mongrel-users

Evan Weaver
Cloudburst, LLC

More information about the Mongrel-users mailing list