[Catalyst] Re: OT: Use the CPAN, Luke?
Johan Lindström
johanl at DarSerMan.com
Fri Nov 28 01:31:41 GMT 2008
At 06:58 2008-11-27, Aristotle Pagaltzis wrote:
> > According to the Mouse docs, Mouse supports the most commonly
> > used features of Moose, but runs in 25% of the time. I'm happy
I think that may be referring to startup time (and the Mouse POD
refers to compile time actually).
In the context of web apps, if you're interested in performance at
all, you're obviously not going to use CGI. It's gonna be a
persistent environment. So in that scenario, startup cost is irrelevant.
I benchmarked a few OO/accessor modules, and Mouse was amongst the
slowest ones. IIRC there's a 4:1 performance difference between Mouse
and immutable Moose classes (mutable Moose classes is a disaster, a
few percent slower than Mouse I think it was). So you make Moose
classes immutable.
The benchmark wasn't scientific or anything, basically just a new()
with some of the default values overridden in the call + a getter
access. I think Moose was something like 20% behind
Class::Accessor::Fast and Spiffy was really fast.
Like the Moose docs say, you pay for what you use. In this case, when
I added type constraints they became the most expensive things beyond
the basics, but still as performant as hand coding the validation.
/J
More information about the Catalyst
mailing list