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 3.431 seconds using v1.01-cache-2.11-cpan-71847e10f99 )