Jay K ha scritto:
I agree 100% on this... if we are judging Catalyst, et al, as simple dispatchers, then we should consider apache+cgi in the discussion as well - as apache is obviously one of the most venerable and widely deployed dispatchers out there.

...and is probably faster than Catalyst at doing that.


A framework is much more than that. In my experience, the costs in time and money involved in building and maintaining the code for an app outweigh the cost of deploying it by huge margins. Furthermore, by the time you are experiencing enough traffic to be analyzing the performance at this granular a level, there are much better ways to improve your responses per second that cost much less in terms of time and money.

These days, for less than the cost of a week of work, you can double your serving capacity easily - and because of the 'fringe benefits' of using Catalyst this is usually simply a matter of swapping out session and caching plugins (if you even use them) to the more cross-server compatible modules.

This brings another point into the mix: how easy is to swap those modules? How much code do you have to change in you app to make it work? If a framework has a good plugin system, you can just tell it to use a different cache module (e.g. swap out Cache::FastMMap in favor of memcached) and restart the application.


If you are using a frontend cache like squid, you can do even more cost-for-performance-wise.

Personally, I use Catalyst because it takes care of a lot of details I would rather not worry about. When I am free of worrying about all those details, I can focus on building JUST my application logic. This means that my application logic tends to be more solid, because I am not tracking a ton of specifics outside of my app.
>

This could be a good starting point for a comparison between web frameworks.
Catalyst is very good in this area (IMHO) because for example I can develop on WinXP using the test server and then deploy under Linux/mod_perl *without changing a single line of code in my app* (there could be issues if I use perl modules that are less portable than Catalyst, but that's not Cat's fault).
That's a pretty impressive cross-platform-ness IMHO ! :-)

Because I'm not constantly crossing the line between my app and base functionality (responding to HTTP, getting the correct bit of code executed based on the request, etc.), I am not chasing bugs related to that line. I can rely on the fact that it will always happen in a particular way and if I have a bug, it's more than likely in my application, so I can focus there.

That is the power of a Framework any 'benchmark' that doesn't take those things into account is so much fluff and of no use to me.

Agreed.


JayK


--
Marcello Romani
Responsabile IT
Ottotecnica s.r.l.
http://www.ottotecnica.com

_______________________________________________
List: Catalyst@lists.rawmode.org
Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/
Dev site: http://dev.catalyst.perl.org/

Reply via email to