Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: Perl startup and excessive "stat" use on module load

by LanX (Saint)
on Dec 31, 2020 at 04:55 UTC ( [id://11126027]=note: print w/replies, xml ) Need Help??


in reply to Perl startup and excessive "stat" use on module load

It's a feature not a bug.

Manipulating the libs help you dynamically experimenting with different versions.

So whenever you are adding a new module to one of your libraries you need to adjust your static load-path solution again.

Are you really sure it's worth it?

I'm not aware of any standard way to do this or even a module for it.

That's how I'd do it.

I would dump %INC after all modules are loaded, because the values are the path where they've been found.

Then I'd set an @INC hook on the first position which loads exactly those recorded modules. See require

We just had a discussion on hooks.

Here a working example: [WEBPERL] dynamically importing non-bundled modules via http

What you'll need is a mechanism to deactivate the hook so that you can record the normal load paths again.

Like an extra flag in %ENV.

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery

update

I should have mentioned that the usual way to avoid load overhead is a persistent process like with FastCGI or other deamon solutions like Proc::Daemon .

That's faster than your idea because it's also avoiding to compile all the code.

  • Comment on Re: Perl startup and excessive "stat" use on module load

Replies are listed 'Best First'.
A reply falls below the community's threshold of quality. You may see it by logging in.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11126027]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (6)
As of 2024-04-26 08:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found