Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^3: counting backward (optimize foreach reverse low .. high

by BrowserUk (Pope)
on Mar 02, 2013 at 15:29 UTC ( #1021430=note: print w/ replies, xml ) Need Help??


in reply to Re^2: counting backward (optimize foreach reverse low .. high
in thread counting backward

But you still had to create a huge array in order to benefit from the optimisation; which kinda negates the purpose.

This: perl -E"@a=1..1e9; for( reverse @a ) { print $_; <> }" consumes 18GB (that's Gigabytes!) of memory

Whereas this: perl -E"for( -1e9..1 ) { print -$_; <> }" iterates the same range and consumes only 1.8MB of ram.

Four orders of magnitude more memory, or a minus sign. My choice is simple; how about yours?


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.


Comment on Re^3: counting backward (optimize foreach reverse low .. high
Select or Download Code
Re^4: counting backward (optimize foreach reverse low .. high
by Anonymous Monk on Mar 02, 2013 at 15:39 UTC

    Four orders of magnitude more memory, or a minus sign. My choice is simple; how about yours?

    I'll use minus sign until perl5-porter optimizes foreach reverse rangeop

    Or i'll use for;;;

      Or i'll use for;;;

      It's a shame you can't use the c-style for as a modifier:

      cmpthese -1, { a=>q[ 1 for -1e6..0; ], b=>q[ for( my $i=1e6; $i; --$i ){ 1 } ] };; Rate b a b 14.0/s -- -26% a 19.0/s 35% --

      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1021430]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (5)
As of 2014-09-23 10:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (216 votes), past polls