I'm no expert on this, but here's the general gist of what I took away from Reini Urban's presentation on the Perl compiler. (http://houston.pm.org/talks/2011talks/1110Talk/index.html)

The 'pp' utility is just packaging the Perl interpreter, modules and your code. Running the pp created executable means that it has to unpack the packed files, setup the Perl environment and then run your code. In your case, the initial run does the heavy lifting on the preparation tasks (unpacking files, etc.) and the subsequent runs are able to leverage the preparation work from the first run.

From Reini's presentation, he's referring to B::C, which I personally have never used. This will actually compile your code (or actually converts Perl into C code and then compile the C code). In this case, the execution time of your Perl code is not any faster (i.e. adding numbers, reading files, etc.), but the start up time can be significantly faster.

Honestly, most of Reini's presentation went over my head. Hopefully I've accurately described the start up time differences between packaging Perl code into an executable (i.e. using pp) vs. compiling the Perl code into an executable (i.e. B::C).


In reply to Re: Delay running Perl execs in Windows by dasgar
in thread Delay running Perl execs in Windows by Raineer

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.