in reply to Re: Array or Hash
in thread Array or Hash
Both scale the same for insertions (amortised O(1))
Care to demonstrate how insertions into an array amortise to O(1)?
Both scale the same for fetches (amortised O(1)).
A fetch should take a little longer with a hash, but I suspect this wouldn't be the deciding factor in most cases.
You wouldn't notice if your programs ran 5 times slower?
perl -MTime::HiRes=time -E"@a=1..1e6;$t=time; ++$a[$_] for 1..1e6; printf qq[%f\n], time()-$t" 0.146912 perl -MTime::HiRes=time -E"%h=map{($_)x2}1..1e6;$t=time; ++$h{$_} for 1..1e6; printf qq[%f\n], + time()-$t" 0.525000
Or an order of magnitude more slowly?
perl -MTime::HiRes=time -E"$t=time;my @a; $a[$_]=1 for 1..1e6; printf qq[%f\n], time()-$t" 0.220181 perl -MTime::HiRes=time -E"$t=time;my %h; $h{$_}=1 for 1..1e6; printf qq[%f\n], time()-$t" 1.805000
Concealing reality behind grand sounding theoretical BS is all the worse as you obviously know better.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Array or Hash
by ikegami (Patriarch) on Jan 21, 2011 at 18:35 UTC | |
by BrowserUk (Patriarch) on Jan 21, 2011 at 18:51 UTC | |
by ikegami (Patriarch) on Jan 21, 2011 at 19:24 UTC | |
by BrowserUk (Patriarch) on Jan 21, 2011 at 19:41 UTC | |
by BrowserUk (Patriarch) on Jan 21, 2011 at 22:02 UTC |