Devel-WxProf
view release on metacpan or search on metacpan
lib/Devel/WxProf/Reader/DProf.pm view on Meta::CPAN
while ($line = <$fh>) {
if ($header) {
# print $line;
$line =~m{^PART2}xms
or next;
$header--;
}
# print $line;
chomp $line;
my @field_from = split m{\s}x , $line;
if ($field_from[0] eq '+') {
# skip old-style lines
next if ($field_from[1] eq '&');
# enter
my $start = $elapsed;
# print "Enter at $start - ", join("::", @{ $name_from[hex $field_from[1] ] }), "\n";
($package_name, $function_name) = @{ $name_from[hex $field_from[1] ] };
if (not exists $packages_of{ $$self }->{ $package_name }) {
lib/Devel/WxProf/Reader/DProf.pm view on Meta::CPAN
if (not defined $sub_from[-1]) {
push @root_from, $current;
undef $current;
}
$current = $sub_from[-1];
}
elsif ($field_from[0] eq '@') {
# time
# print $line,"\n";
my @time_from = split m{\s}x, $line;
$elapsed += $time_from[3];
}
elsif ($field_from[0] eq '&') {
# register
# list ref for efficiency
# warn "$field_from[2]::$field_from[3]";
$name_from[hex $field_from[1] ] = [ $field_from[2], $field_from[3] ];
}
}
lib/Devel/WxProf/Reader/WxProf.pm view on Meta::CPAN
if ($header) {
if ($line =~m{^overhead=(\d+)}x) {
$overhead = $1;
};
$line =~m{^PART2}xms
or next;
$header--;
}
chomp $line;
my @field_from = split m{\s}x , $line;
if ($field_from[0] eq '+') {
# skip old-style lines
next if ($field_from[1] eq '&');
# enter
next if $field_from[2] =~s{<anon>}{__ANON__:};
my ($package_name, $function_name) = $field_from[2] =~ m{^(.+)::([^:]+)$}x;
if (not exists $packages_of{ $$self }->{ $package_name }) {
$packages_of{ $$self }->{ $package_name } = Devel::WxProf::Data->new({
package => $package_name,
start => 0,
( run in 0.728 second using v1.01-cache-2.11-cpan-71847e10f99 )