PURPOSE
Compares the speed of the constructor in four equivalent classes built using different tools:
- Moo_MXTML
-
Moo with MooX::Types::MooseLike::Base types and non-Sub::Quote coderef coercions.
- Moo_TT
-
Moo with Type::Tiny types and coercions.
- Moose
-
Moose with Moose type constraints and coderef coercions. Class is made immutable.
- Moose_TT
-
Moose with Type::Tiny type constraints and coercions. Class is made immutable.
RESULTS
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.)
DEPENDENCIES
Moo, MooX::Types::MooseLike::Base, Moose.
AUTHOR
Toby Inkster <tobyink@cpan.org>.
COPYRIGHT AND LICENCE
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.