I'd be interested to see the actual benchmarking code that gave you these results. Not that I'm clever enough to immediately question any of the numbers, but several of your snippets do have potential benchmark pitfalls that are easy to fall into. For instance, in 1,2, and 5 the input value of $_ is being modified... are you reseting it before each loop? Consider the following:
# snippet 1 $_ = 'abc'; for (1..1000) { sleep 1 if $_ eq 'abc'; $_ = 'def'; } # snippet 2 $_ = 'abc'; for (1..1000) { sleep 2 if $_ eq 'abc'; $_ = 'def'; }
Notice that after the first time through the loop, you aren't actually executing the same code. If you tested this as is, you might come to the conclusion that 'sleep 2' is only fractionaly slower than 'sleep 1' since that 1 second differential is spread out over 1000 loops....

Also, I don't understand what questions 3 and 4 are getting at. Could you give a bit more explanation for them?

-Blake


In reply to Re: Benchmarking Quiz by blakem
in thread Benchmarking Quiz by jlongino

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.