[Catalyst-dev] Moose Port: Class::C3 vs Moose Method Modifiers

Guillermo Roditi groditi at gmail.com
Tue May 20 17:19:20 BST 2008


Because we use multiple inheritance and because we have a history with
NEXT, we will be using Class::C3. This change will hopefully buy us
some speed gains.

At one point, we completely removed any usage of NEXT and replaced it
with method modifiers but then someone said something (don't know who
or what) and so I moved back to Class::C3. mst has voiced his
complaints about this and made some reference to Class::C3::import
being evil but I do not understand what that means and the test suite
seems to work so I take it that it's not really an issue. There was
also concerns over compatibility with 5.10 but I do not have a 5.10
box available so someone who uses 5.10 will need to test there and let
us know if something breaks.


This is your time to make your vote. Moose Method Modifiers are
probably slower than Class::C3, but nobody has benchmarked it. I,
personally, prefer modifiers, but there is performance considerations
and unless someone rewrites before/after/around in XS those will not
go away. Modifiers will not be 100% compatible because they are not
designed with MI in mind. This is part of the reason I went back to
Class::C3.

Now is the time to express your opinions, and explain why you would
prefer something over the other. Speak up  now everybody because I
will ignore your complaints later.

-- 
Guillermo Roditi (groditi)



More information about the Catalyst-dev mailing list