I can certainly understand the desire for this. The start-up time for Perl scripts can be a bit of a problem (otherwise there would be no need for mod_perl -- though it is usually more of a problem when serving web pages than most other situations).

Each time you run a script, the perl executable must start up, initialize a new interpreter, then compile the script and any modules or other stuff that the script requires. This can add up -- though, I think this is less often noticed as a problem on modern machines that have to be faster to deal with the growing software bloat.

If perl is being run often, then most operating systems will keep the perl executable cached in memory (if not short on RAM). But the operating system can't cache the compiled Perl script no matter how often you run it.

A lot of work has been put into a pre-compiler for Perl that takes a Perl script and compiles it to some other format that is much faster for Perl to load. Initially the load time for the pre-compiled scripts was actually longer than the original compile time because of the amount of data that had to be read in.

I hear much improvement has been made in this area so you should check out the B (for Backend) modules and tools that come standard with modern versions of Perl.

I've often wanted a good Perl shell that would let me do simple things like "rm file" without loading any external executables and would let me do more complex things by loading a module so that each time I want to do that again, it is already loaded for me. But that will only help start-up of some interactive commands.

If you have just a few particular scripts that are being run over and over, then there are things you can do to speed those up, making all or much of the script into a demon that is always running, for example.

tye (Nothing is obvious unless you are overlooking something)

In reply to Re: Can Perl remain persistent for scripts just like mod_perl does for apache? by tye
in thread Can Perl remain persistent for scripts just like mod_perl does for apache? by dcardamo

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.