|
|
| Don't ask to ask, just ask | |
| PerlMonks |
Re: Re^3: When would you choose foreach instead of map?by BrowserUk (Patriarch) |
| on May 21, 2004 at 06:28 UTC ( [id://355229]=note: print w/replies, xml ) | Need Help?? |
This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.
I believe* that the reason is nothing to do with the void context. for is optimised to treat the range operator as an iterator, by which I mean it doesn't generate a list of 1_000_000 scalars, it simply supplies the next incremented value as $_ for each iteration. map on the other hand doesn't have this optimisation and so a very large list is generated as the input to map. This is what (briefly) consumes the memory. For short ranges this isn't a problem, but for larger ones, it's worth avoiding. * I'm fairly confident that this is the case, but it is acquired knowledge rather than something I can point my finger at the sources and say "There". Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham"Think for yourself!" - Abigail
In Section
Seekers of Perl Wisdom
|
|
||||||||||||||||||||||||