in reply to map vs for\foreach.
You are not comparing apples to apples. You map loop assigns (copies) the entire array in addition to incrementing each element. If you drop the assignment, map beats foreach.
My results
-----------------------foreach(@a){$_+=1;}; real 0m4.941s user 0m1.096s sys 0m3.604s
------------------------@a = map{$_+= 1} @a; real 0m6.248s user 0m2.652s sys 0m2.900s
map{$_+= 1} @a; real 0m3.224s user 0m2.908s sys 0m0.232s
Note: It is generally considered poor form to use map only for its side effects.
Updated to clean up and add note
Update 2:
More rigorous timing show that foreach is indeed faster --> Re^3: map vs for\foreach.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: map vs for\foreach.
by builat (Monk) on Mar 11, 2015 at 14:38 UTC | |
by sn1987a (Curate) on Mar 11, 2015 at 15:12 UTC |