http://www.perlmonks.org?node_id=175766


in reply to Schwartzian Transform and memory allocation.

I am confused. Why are you using a Schwartzian Transform? Your first map puts $_ as the first element of the anon array, it's the first element that's being used in the sort, and that's also that remains after the last map. So, effectively, you are splitting, and then just discarding the results.

As for the memory usage, you should realize that during the sort, you have 759 * 42 scalars, and an additional 759 arrays. Each scalar has some overhead (a couple of dozens of bytes), arrays have even more. It doesn't look much, but since you have to multiply, it does add up. It might easily take 1.5 Mb. And then there's the perl binary itself. I don't know how much it takes on your server, but it can easily consume a few Mb itself (this varies from system to system).

Abigail