On Thu, 28 Sep 2000, Bill Moseley wrote:
> Hi,
>
> I'm seeing the opposite results from pre-loading modules in the parent
> process than I would expect. It looks like pre-loading modules ends up
> using more non-shared ("private") memory.
...
> Here's the pre-loaded module list. When running as non-pre-loaded I'm
> commenting out Search, SWISH::Fork, and CGI->compile lines below. That's
> the only difference.
that's a BIG difference.
% perlbloat 'require CGI'
require CGI added 784k
% perlbloat 'require CGI; CGI->compile(":all")'
require CGI; CGI->compile(":all") added 2.0M
try without preloading CGI.pm/CGI->compile in either.
p.s. this is the perlbloat script:
use GTop ();
my $gtop = GTop->new;
my $before = $gtop->proc_mem($$)->size;
for (@ARGV) {
if (eval "require $_") {
eval {
$_->import;
};
}
else {
eval $_;
die $@ if $@;
}
}
my $after = $gtop->proc_mem($$)->size;
printf "@ARGV added %s\n", GTop::size_string($after - $before);