It's Moose vs MooseX::Declare in a speed showdown!!
This benchmark uses MooseX::App::Cmd to create some simple command-line apps, then uses Dumbbench to run them over and over to see which which one is fastest. Well, actually we already know that plain Moose is going to win. The real question is, is it faster enough to be significant in amongst all the overhead of starting up Perl, App::Cmd, loading Moose-guts, etc.
A few notes:
-
In the results, "MXD" indicates a command that uses MooseX::Declare at every level (app, base command, and command subclass). "NoMXD" indicates a command that does not use MooseX::Declare at all.
-
Since each run in our benchmark is spawning a shell, we're going to be comparing compile-time speed and run-time speed, but mostly compile-time (because our command doesn't do very much actual work). That's mainly what I wanted to get at with this benchmark.