Ruben Safir wrote:
On 06/26/2017 07:51 PM, Neil Gunton wrote:
rich...@ecos.de wrote:
Hi Neil,
Embperl is not working with threaded mpm.
Preloading all your perl code saves a lot of memory due to code sharing.
The main issue is, that you have to make sure, not to open any file or
database connection or similar in the preload code, because that will
be shared too, which does not work
Thanks, Gerald. So, just to be clear, what my preload routine in
startup.pl does is the following. Maybe you can confirm that I'm doing
it right.
if (Apache2::ServerUtil::restart_count() == 1)
{
preload_dirs();
$Embperl::initparam{preloadfiles} = \@preload_files;
}
The preload_dirs() simply traverses my code tree and calls this for each
file:
push (@preload_files, {inputfile => $filename, path => $path, import =>
0, input_escmode => 0, options => 16, debug => 0x7fffffff});
Does that look about right? If as you say it's worthwhile in terms of
memory then I might look at re-enabling it again. I think I disabled it
originally because it made restarting the server quite slow, but it
would be useful to have it as an option should I need it.
looks right to me although I never did this. You are just setting up
the global parameters
Ok, but I'm wondering if there is something else I should be doing to
execute the actual preload. It seems that all I do here is give Embperl
an array, but when I enable the preload, it just goes through everything
suspiciously quickly. I don't think it's actually executing anything at
preload time, though I could be wrong. I'm thinking there's something
else I need to do to tell Embperl "ok, now actually load all those files"...
Neil
---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-unsubscr...@perl.apache.org
For additional commands, e-mail: embperl-h...@perl.apache.org