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$||;
  +}
   
  
  
  


Reply via email to