Speed comparison between MooseX::Declare, Moops, MooX::Pression, and Dios.
# ============================================================ # Moose implementations # ============================================================ # Rate MXD Prs_Moose Moops_Moose # MXD 94.2/s -- -98% -98% # Prs_Moose 4525/s 4702% -- -18% # Moops_Moose 5531/s 5769% 22% -- # # ============================================================ # Moo implementations # ============================================================ # Rate Moops_Moo Prs_Moo # Moops_Moo 3169/s -- -24% # Prs_Moo 4148/s 31% -- # # ============================================================ # Mouse implementations # ============================================================ # Rate Prs_Mouse Moops_Mouse # Prs_Mouse 5966/s -- -31% # Moops_Mouse 8698/s 46% -- # # ============================================================ # All implementations # ============================================================ # Rate Dios MXD Moops_Moo Prs_Moo Prs_Moose Moops_Moose Prs_Mouse Moops_Mouse # Dios 2.19/s -- -98% -100% -100% -100% -100% -100% -100% # MXD 94.5/s 4209% -- -97% -98% -98% -98% -98% -99% # Moops_Moo 3139/s 142960% 3220% -- -26% -31% -45% -47% -64% # Prs_Moo 4225/s 192461% 4369% 35% -- -7% -26% -29% -52% # Prs_Moose 4567/s 208038% 4731% 45% 8% -- -20% -23% -48% # Moops_Moose 5689/s 259136% 5917% 81% 35% 25% -- -5% -35% # Prs_Mouse 5966/s 271781% 6210% 90% 41% 31% 5% -- -32% # Moops_Mouse 8727/s 397592% 9130% 178% 107% 91% 53% 46% --
For Moose classes, Moops is the fastest, followed by MooseX::Pression, with MooseX::Declare trailing a long was behind.
For Moo classes, MooX::Pression beats Moops.
For Mouse classes, Moops beats MooX::Pression.
Overall, Mouse beats Moose beats Moo.
All of the above are faster than Dios.
Compile time isn't measured in this benchmark, but it's likely that Moo-based classes will compile faster. Moops compiles a lot faster than MooseX::Declare and Dios. MooX::Pression does not compile as fast as Moops, but it's not much slower.
Toby Inkster <tobyink@cpan.org>.
This software is copyright (c) 2013, 2020 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 MooX::Pression, copy and paste the appropriate command in to your terminal.
cpanm
cpanm MooX::Pression
CPAN shell
perl -MCPAN -e shell install MooX::Pression
For more information on module installation, please visit the detailed CPAN module installation guide.