[sf-perl] Real perl
Dana Diederich
diederich at gmail.com
Tue Apr 10 15:29:20 PDT 2012
That's a bit of an absolute statement, Randal. There are definitely highly
relevant cases where it doesn't make sense to use Moose and friends. If
program load time or overall performance is a primary goal, 'old school'
Perl might make more sense. Granted it's often possible to re-frame the
overall problem so those aspects aren't as important, but it often doesn't
make sense to do that.
dana at hithlum:~/bench$ cat p1
#!/usr/bin/perl
my $foo = {};
bless $foo, 'Foo';
my $counter = 1;
for(1..100000) {
$counter = $foo->adder($counter);
}
print "$counter\n";
package Foo;
sub
adder {
return $_ + 1;
}
dana at hithlum:~/bench$ time ./p1
100001
real 0m0.045s
user 0m0.044s
sys 0m0.000s
dana at hithlum:~/bench$ cat p2
#!/usr/bin/perl
use lib '.';
use Foo;
my $foo = Foo->new;
my $counter = 1;
for(1..100000) {
$counter = $foo->adder($counter);
}
print "$counter\n";
dana at hithlum:~/bench$ cat Foo.pm
use MooseX::Declare;
class Foo {
method adder (Num $ct) {
return $ct + 1;
}
}
dana at hithlum:~/bench$ time perl ./p2
100001
real 0m13.718s
user 0m13.661s
sys 0m0.044s
dana at hithlum:~/bench$
I write code using Moose and the wide galaxy of exceptional modules it has
spawned every day. And I yearn for the day that I can use Perl6 in my
production environment. (It's getting close, last time I looked!) But
sometimes raw 'cpu' performance is important.
Most of the time, I start using the highest-level modules possible, and if
there's a performance problem, I end up 'dumbing down' the hot-spots, using
simpler Perl. For me, this is rare.
Cheers,
-Dana
On Tue, Apr 10, 2012 at 2:00 PM, Randal L. Schwartz
<merlyn at stonehenge.com>wrote:
> >>>>> "Dodger" == Dodger <el.dodgero at gmail.com> writes:
>
> Dodger> So... How about some old school perl without mooses and meeses?
> Dodger> Anybody out there code in... You know... Perl?
>
> Seriously, if you're launching green code and not using Moose, you have
> some weird nostalgia in you that prevents you from being a useful coder
> for me or my clients.
>
> --
> Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777
> 0095
> <merlyn at stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
> Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
> See http://methodsandmessages.posterous.com/ for Smalltalk discussion
> _______________________________________________
> SanFrancisco-pm mailing list
> SanFrancisco-pm at pm.org
> http://mail.pm.org/mailman/listinfo/sanfrancisco-pm
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/sanfrancisco-pm/attachments/20120410/d2e46cd2/attachment-0001.html>
More information about the SanFrancisco-pm
mailing list