because the map generates an anon array that is an "extra step" and that array is copied to @a.
No array is created. One million scalars are created, but the question wasn't about that snippet. It was provided as a baseline.
In your later code, you have a map within a map which is similar to a foreach within a foreach. So it is going to run like 1 million times slower.
No, it's not multiplicative like a foreach in a foreach. It's additive like a foreach after a foreach.
my @array = map A, map B, LIST;
is functionally similar to
my @list1; for (LIST) { push @list1, B; } my @list2; for (@list1) { push @list2, A; } my @array = @list2;
Snippet three should take about 0.21 + (0.21-0.06) = 0.56, but it's taking 31.48 due to excessive paging. Why is it paging so much?
In reply to Re^2: What could cause excessive page faults?
by ikegami
in thread What could cause excessive page faults?
by BrowserUk
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |