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.