Compares the speed of the constructor in four equivalent classes built using different tools:
Moo with MooX::Types::MooseLike::Base types and non-Sub::Quote coderef coercions.
Moo with Type::Tiny types and coercions.
Moose with Moose type constraints and coderef coercions. Class is made immutable.
Moose with Type::Tiny type constraints and coercions. Class is made immutable.
For both Moose and Moo, Type::Tiny type constraints are clearly faster than the conventional approach:
Rate Moo_MXTML Moo_TT Moose Moose_TT Moo_MXTML 3412/s -- -33% -49% -60% Moo_TT 5119/s 50% -- -23% -39% Moose 6636/s 94% 30% -- -21% Moose_TT 8452/s 148% 65% 27% --
(Tested versions: Type::Tiny 0.003_16, Moose 2.0604, Moo 1.002000, and MooX::Types::MooseLike 0.16.)
Moo, MooX::Types::MooseLike::Base, Moose.
Toby Inkster <tobyink@cpan.org>.
This software is copyright (c) 2013 by Toby Inkster.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Type::Tiny, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Type::Tiny
CPAN shell
perl -MCPAN -e shell install Type::Tiny
For more information on module installation, please visit the detailed CPAN module installation guide.