[Catalyst] Re: Catalyst vs Rails vs Django Cook off

Perrin Harkins perrin at elem.com
Wed Jan 17 17:30:26 GMT 2007


On Wed, 2007-01-17 at 15:12 +0100, Robert 'phaylon' Sedlacek wrote:
> When I request a resource from a Catalyst application, two things are
> executed: The framework logic, and my application logic. But this is not a
> "first the one, then the other" execution. During the request, the
> framework calls my application logic to get some response together, and my
> application logic uses the framework logic in a convenient way. The
> dispatching (read: The decisio on what part of my application logic to
> execute) is a rather small part.

That was my point actually: the dispatching (plus the abstraction layer
for accessing things like the query string from the web environment) is
nearly all of it, in terms of performance.  A couple of calls to
$c->forward() and $c->stash() are negligible, and all the rest is either
your code or some non-Catalyst CPAN module.

Regarding the DBI analogy, the thinking is pretty simple:

- DBI is big, much bigger than Catalyst.
- DBI has tons of functionality in it, like a profiler, database schema
introspection, and a proxy system.
- If someone made a benchmark comparing DBI to JDBC based on query
speed, no one would complain that they didn't test the speed of the
other features, even though you might use them.  Query speed is the most
relevant thing to benchmark for DBI, just like mapping URLs to methods
is the most relevant thing to benchmark for Catalyst.

The benchmark still sucks though, even as a dispatcher test.  He gave it
the easiest possible URL.

- Perrin




More information about the Catalyst mailing list