Skip to content

Instantly share code, notes, and snippets.

@hirose31
Created March 10, 2009 07:30
Show Gist options
  • Save hirose31/76801 to your computer and use it in GitHub Desktop.
Save hirose31/76801 to your computer and use it in GitHub Desktop.
#!/usr/bin/env perl
# Time-stamp: <2009-03-10 16:30:14 JST, hirose31>
use strict;
use warnings;
use B::TerseSize;
use Devel::Symdump;
sub summary_size() {
my $stab = Devel::Symdump->rnew("main");
my %size;
for my $package ("main", $stab->packages) {
my($subs, $opcount, $opsize) = B::TerseSize::package_size($package);
$size{$package} = $opsize;
}
my $i=0;
for my $package ('main', sort {$size{$b}<=>$size{$a}} keys %size) {
printf "%-24s %8d [KB]\n", $package, $size{$package}/1024;
last if ++$i >= 3;
}
print "--\n";
}
summary_size;
require DateTime;
my @dt;
push @dt, DateTime->now;
summary_size;
push @dt, DateTime->now;
summary_size;
__END__
けっか
goa[~]$ ./s.pl
main 54 [KB]
B::TerseSize 436 [KB]
warnings 237 [KB]
--
main 69 [KB]
DateTime 823 [KB]
B::TerseSize 473 [KB]
--
main 73 [KB]
DateTime 823 [KB]
B::TerseSize 473 [KB]
--
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment