I was suprised by the performance hit. In essence the only change was 2x if/else cases added

sub merge { my ( $data, $unmerge ) = @_; while ( $some_condition ) { # big loop, no embedded loops $count = $unmerge ? $count1 + $count2 : $count1 - $count 2; } }

As you say a preprocessor of some description could optimise the flag away, depending on the call. eval might well have allowed perl to optimise the code getting rid of the repeated if checks that will either always be true or always be false. But by the time I had added an AUTOLOAD the code would have been a lot less transparent and physically almost as long. I had not thought about using eval to delay compilation and effectively allow you to stub the functions and get them to compile more efficiently. I may give it a benchmark when I have a chance.

cheers

tachyon


In reply to Re: Re^6: Substituting Newline Characters by tachyon
in thread Substituting Newline Characters by bkiahg

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.