From the current version (0.98) of the Moose::Manual::MooseX are the lines:
We have high hopes for the future of MooseX::Method::Signatures and MooseX
MooseX::Declare
and MooseX::Method::Signatures
are working well but they can have really nasty penalty depending on what does your code do. This can be fixed by just not using method
keyword or using Method::Signatures::Modifiers
.
Performance penalty I am seeing is around 2-5x compared to Method::Signatures::Modifiers
(5x being mostly for one specific class I was using). And it seems that it is mostly compile time or maybe first time initialization, because it is getting under 2x when the computation is longer.
Method::Signatures::Modifiers
has better errors but you have to turn this optimization off when you use debugger (it goes haywire because it does not see these methods, you can see for yourself in -MO=Deparse
output).
It may be worth it to get rid of Perl argument shifting hell.