stas 01/10/05 10:25:38 Modified: util perl_bloat.pl Log: - extend to report separately the added size for each arg in ARGV + total - handle Foo/Bar.pm in addition to Foo::Bar and code snippets Revision Changes Path 1.2 +24 -6 modperl-2.0/util/perl_bloat.pl Index: perl_bloat.pl =================================================================== RCS file: /home/cvs/modperl-2.0/util/perl_bloat.pl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- perl_bloat.pl 2001/09/18 16:16:18 1.1 +++ perl_bloat.pl 2001/10/05 17:25:37 1.2 @@ -1,12 +1,24 @@ #!/usr/bin/perl -w +# perlbloat.pl 'some perlcode' 'more perl code' +# perlbloat.pl Foo/Bar.pm Bar/Tar.pm +# perlbloat.pl Foo::Bar Bar::Tar + +no warnings; + use GTop (); my $gtop = GTop->new; -my $before = $gtop->proc_mem($$)->size; +my $total = 0; for (@ARGV) { - if (eval "require $_") { + + my $code = $_; + file2package($_) if /\S+\.pm$/; + + my $before = $gtop->proc_mem($$)->size; + + if (eval "require $_" ) { eval { $_->import; }; @@ -15,11 +27,17 @@ eval $_; die $@ if $@; } -} - -my $after = $gtop->proc_mem($$)->size; -printf "@ARGV added %s\n", GTop::size_string($after - $before); + my $after = $gtop->proc_mem($$)->size; + printf "%-30s added %s\n", $_, GTop::size_string($after - $before); + $total += $after - $before; +} +print "-" x 46, "\n"; +printf "Total added %30s\n", GTop::size_string($total); +sub file2package { + $_[0] =~ s|/|::|g; + $_[0] =~ s|\.pm$||; +}