[Catalyst] Catalyst vs Rails vs Django Cook off

Jonathan Rockway jon at jrock.us
Thu Nov 16 16:28:48 GMT 2006


Cory Watson wrote:
> My original intent was to prod someone that is knowledgeable enough of
> Catalyst's internals to criticize this benchmark's methods to create a
> benchmark that is more friendly to Catalyst's strengths.  We've
> established that serving static content is not a fitting use.  We've
> established that a single action is also not an appropriate use of
> Catalyst's dispatcher. So we include some content directly in the
> response body.  But how many actions must be present for the
> dispatcher to shine?  Then we modify the test to use a more realistic
> number and exercise the dispatcher a bit.

This doesn't really solve any problems, though.  I think you're
confusing liking something with it being the best.  The fact that you
(we) like Catalyst doesn't mean it's faster than anything else.
(Admittedly perl itself is faster than python/ruby in a number of areas,
but not in the areas Catalyst's dispatcher uses.)

The benchmarks we have now do point out two important things -- multiple
inheritance and method calls are slow.  These are weaknesses of perl5's
design, and there's not a whole lot we can do to make them faster.
There's a reason perl5 is being scrapped in favor of perl6 (there are
two, actually -- method calls are slow and the OO system is showing its
age ;).

In the interim, I suggest writing your web applications in C if you want
raw performance.  You have to ask yourself, though -- do you really need
the speed? (Or do you want some pseudo-scientific number on someone's blog?)

Regards,
Jonathan Rockway

-- 
package JAPH;use Catalyst qw/-Debug/;($;=JAPH)->config(name => do {
$,.=reverse qw[Jonathan tsu rehton lre rekca Rockway][$_].[split //,
";$;"]->[$_].q; ;for 1..4;$,=~s;^.;;;$,});$;->setup;



More information about the Catalyst mailing list