The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.