[sf-perl] making perl compile phase faster

James Briggs james at ActionMessage.com
Fri Apr 29 15:33:23 PDT 2011


SpeedyCGI aka PersistentPerl works for some people (including me)
for pre-compiling console apps, as well as an alternative to
mod_perl Registry mode.

Try it out. (I don't think it is maintained much these days.)

James

On Fri, 29 Apr 2011 12:30:41 -0700, Michael Friedman wrote
> I'm having a lucky day, so why not test it...
> 
> At my site, we run a lot of command-line perl scripts. Unfortunately,
>  we also have 2794 perl modules. Some of our scripts load up 
> thousands of lines of perl code before they can do anything, even 
> display a usage statement. Generally, from the time you hit <return> 
> it's at least 5 seconds before anything happens, often longer, 
> because perl has to load in all the required modules.
> 
> At one point, I looked into using SelfLoader and making every method 
> into an autoloaded method, but that failed on some of our important 
> modules because they were not coded to be as... we'll go with 
> "clean"... as I would like. And since we have thousands of modules,
>  any solution has to be automated across nearly everything to work. 
> I can't get in the way of the rest of the development team's work, 
> even for a noticeable performance gain.
> 
> So, let me ask y'all:
> 
> 1. Is there anything approaching a "perl compiler" these days? 
> (Something that does the compile stage early and lets you then just 
> run the binary later.)
> 
> 2. Is there a better option than SelfLoader now, for only compiling 
> the methods that you are actually using instead of all of them? (As 
> you would guess, a 1,000+ line perl module has a lot of things in it 
> that you don't need for any one script.)
> 
> 3. Are there ways of marking up methods so they don't get parsed and 
> compiled until they're needed?
> 
> Thanks for any advice, tips, or tricks!
> -- Mike
> 
> PS - We aren't using Moose or anything like that. All the modules 
> are hash-based, generic Perl objects and function libraries. If 
> there's a class structure framework or something that could take 
> care of this partial compilation for me, that'd work too.
______________________________________________________________________________
> Mike Friedman | HighWire Press, Stanford Univ | friedman at highwire.stanford.edu
> 


More information about the SanFrancisco-pm mailing list