View | Details | Raw Unified | Return to bug 28411
Collapse All | Expand All

(-)a/memory_usage.pl (-1 / +31 lines)
Line 0 Link Here
0
- 
1
use Modern::Perl;
2
3
use Memory::Usage;
4
use File::Slurp qw( read_file );
5
6
my @modules = read_file('cpanfile');
7
8
my $script = <<EOF;
9
my \$mu = Memory::Usage->new();
10
\$mu->record("Loading %s");
11
require %s;
12
\$mu->record("module loaded");
13
print \$mu->report();
14
EOF
15
16
$script =~ s|\n||g;
17
for my $m ( @modules ) {
18
    chomp $m;
19
    $m =~ s|^requires '([^']*)'.*$|$1|;
20
    $m =~ s|^recommends '([^']*)'.*$|$1|;
21
22
    my $cmd = sprintf $script, $m, $m;
23
    my $output = qx{perl -MMemory::Usage -E '$cmd'};
24
25
    my @report = split "\n", $output;
26
    my $l = $report[2];
27
    my @x = split " ", $l;
28
    my $diff_rss = $x[6];
29
    $diff_rss =~ s|\)$||;
30
    say sprintf "%s - %s", $diff_rss, $m;
31
}

Return to bug 28411