[cgiapp] which Moose-compatible variant to use?

Julio Fraire julio.fraire at gmail.com
Thu Nov 8 12:01:00 EST 2012


Hi Mark,

There is a similar discussion in mst's blog:
http://shadow.cat/blog/matt-s-trout/moo-versus-any-moose/

Your benchmarks are very interesting, though.

Julio



On Thu, Nov 8, 2012 at 4:38 PM, Mark Stosberg <mark at summersault.com> wrote:

>
> > A win for the MOP it seems :)...and a nice feeling idiom to boot.
>
> Speaking of Moose, here's a bit of discussion on Any::Moose vs
> alternatives.
>
> I had heard people talk in general terms how Any::Moose might be
> problematic, but not a lot of specific examples.
>
> Here's rjbs providing one, involving "Throwable":
> http://rjbs.manxome.org/rubric/entry/1916
>
> I ran into another one at work yesterday, hitting what I call the
> "Any::Moose tipping point".
>
> The Moose tipping point is the point at when your project grows to gain
> Moose as a dependency somewhere in the chain. Once you've passed that
> tipping point and paid for loading it, you might as well use it in more
> places.
>
> The Any::Moose tipping point is when you are rolling along in your
> project using Any::Moose, and you run into a must-have dependency which
> is Moose-specific and has no Mouse equivalent. (for me, I started using
> MooseX::Singleton to make sure our configuration file was only loaded
> and parsed once). We use our "config role" nearly everywhere, so we
> might as well refactor places that had "use Any::Moose" to just "use
> Moose" directly.
>
> The big reason for us to bother with Any::Moose was to make our unit
> tests run faster. (I got the test suite down from 25 minutes to 4.5
> minutes using various techniques, but taking a second or two extra for
> each of hundreds of test files still matters for us).
>
> However, just in the past few days, "forkprove" has been developed and
> pushed to CPAN, and it addresses just this case. It allows prove to
> pre-load Moose, and then fork a new process with a copy for each test
> file run. This is the same pre-loading strategy used by Apache/mod_perl.
>
> At this point, I'm not interested in using Moose in the new project
> because of it's slower load time under... I want to use one of the
> lighter alternatives.
>
> Some have recommended or starting using Moo as an alternative to Mouse
> or Any::Moose, but I wasn't pleased with how slow the accessors
> benchmarks turned out for it compared to some alternatives:
>
> https://gist.github.com/3431863
>
> We've discussed it some before, but I'll re-open the discussion about
> which Moose-compatible variant to use in the new project.
>
>    Mark
>
>
>
>
>
>
>
> #####  CGI::Application community mailing list  ################
> ##                                                            ##
> ##  To unsubscribe, or change your message delivery options,  ##
> ##  visit:  http://lists.openlib.org/mailman/listinfo/cgiapp    ##
> ##                                                            ##
> ##  Web archive:   http://lists.openlib.org/pipermail/cgiapp/   ##
> ##  Wiki:          http://cgiapp.erlbaum.net/                 ##
> ##                                                            ##
> ################################################################
>
>


More information about the cgiapp mailing list