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


in reply to Re^6: Out of Memory
in thread Out of Memory

how does ... differ in execution from ...

Hm. "in execution"?

  1. The result -- the count -- is the same.
  2. The runtime is less than half:
    $s = 'ab'x 10e6;; cmpthese -1, { a => q[ my $n = 0; while( $s =~ m[ab]g ){ $n++ }; ], b=>q[ my $n = 0; ++$n while $s =~ m[ab]g; ], };; s/iter a b a 2.31 -- -37% b 1.45 59% --
  3. It is easier to read.

Don't use post increment if you aren't using the pre-increment value. Don't create scopes you don't need.

Or, get into the habit of not doing anything you don't need to.


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.

Replies are listed 'Best First'.
Re^8: Out of Memory
by Michael Kittrell (Novice) on Mar 28, 2013 at 22:33 UTC
    Thank you for the very thorough explanation and proof.

    If you don't know where you're going, it doesn't matter when you get there.