in reply to Re: Re^4: Out of memory.
in thread Out of memory.
if you need to use a second modifier, map lends itself to the purpose.Hm? It takes a block, doesn't it? Not really comparable to a modifier.
How is this different from calling map in a void context?
Good question. Although if you go down that route, you could also say I'm calling find in void context, and the same about pretty much any prodedure call and basically every other line of code.
In my point of view it's more of a conceptual question - the memory and performance concerns are additional, not the sole reason. I guess this is the mathematical part of my brain kicking in here - but to me, map is for mapping one set to another, and the fact that to do so it loops over the input is more of an implementation detail. On a dataflow architecture, as opposed to the Neumann machines Perl runs on, you could actually do the entire processing in large chunks at once.
Ivory tower? You decide. (After all, my weakness is false hubris, as opposed to the false laziness most people have to overcome.)
How/why is this different for Win32 as compared to other OS's?Traversal is easier to get right on Win32 systems. Besides some red herring special file types supported by more recent NTFS variants (which, to my knowledge, can be treated as plain files for most intents and purposes, anyway), there are only regular files and directories in a Win32 file system. On Unixoid systems, the situation is decidedly more complex with symlinks in the traversal equation. In fact it's even more tricky if you're collecting statistics on files, considering you have hardlinks, sparse files, fifos, device nodes, and possibly other more exotic beasts to deal with.
Makeshifts last the longest.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re^6: Out of memory.
by BrowserUk (Patriarch) on Jul 23, 2003 at 19:39 UTC | |
by Aristotle (Chancellor) on Jul 23, 2003 at 23:10 UTC |