in reply to Re: Re: performance - loops, sub refs, symbol tables, and if/elses
in thread performance - loops, sub refs, symbol tables, and if/elses
I've found that while using an object-oriented approach might be slow at the outset, having a good framework does make optimising easier.use warnings; use strict; use Benchmark qw[ cmpthese ]; package Banana; sub new { my $class = shift; return bless({ @_ }, $class); } sub peel { my ($self) = @_; my $x; foreach (keys %$self) { $x += $self->{$_}; } $x; } package main; sub peel { my ($banana) = @_; my $x; foreach (keys %$banana) { $x += $banana->{$_}; } $x; } cmpthese(10_000,{ oo_peel => sub { my $banana = Banana->new( foo => 10, bar => 1 +5); for (1..250) { $banana->peel(); } }, pr_peel => sub { my $banana = { foo => 10, bar => 15 }; for (1..250) { peel($banana); } }, });
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re^3: performance - loops, sub refs, symbol tables, and if/elses
by jdporter (Paladin) on Dec 17, 2002 at 19:21 UTC | |
by tadman (Prior) on Dec 17, 2002 at 21:04 UTC | |
by jdporter (Paladin) on Dec 17, 2002 at 21:11 UTC | |
by tadman (Prior) on Dec 17, 2002 at 21:35 UTC | |
by runrig (Abbot) on Dec 17, 2002 at 21:39 UTC |