NAME
DESCRIPTION
Evo parts written in C. Right now only Evo::Class
has XS version
Evo::Class::Attrs::XS
Benchmarks
cpanm Evo Evo::XS Moo MooX::StrictConstructor Class::XSAccessor Mouse MouseX::StrictConstructor
perl bench/bench-classes.pl
Conclusions
All modules demonstrate quite similar performance for attributes. But Evo
constructor is 2-2.5 times faster because it was designed to be strict from the beginning.
Results (i7-3770)
New(strict)
Rate Moo Mouse Evo
Moo 435/s -- -30% -74%
Mouse 621/s 43% -- -63%
Evo 1674/s 284% 169% --
Simple get+set
Rate Moo Mouse Evo
Moo 3709584/s -- -18% -27%
Mouse 4497568/s 21% -- -12%
Evo 5097244/s 37% 13% --
Lazy + default + simple
Rate Moo Mouse Evo
Moo 1494345/s -- -29% -34%
Mouse 2104366/s 41% -- -7%
Evo 2271049/s 52% 8% --