Author: tim.bunce
Date: Wed Dec 10 09:12:38 2008
New Revision: 649
Modified:
trunk/bin/nytprofhtml
trunk/lib/Devel/NYTProf/Data.pm
trunk/lib/Devel/NYTProf/FileInfo.pm
trunk/lib/Devel/NYTProf/SubInfo.pm
trunk/t/test01.rdt
trunk/t/test02.rdt
trunk/t/test03.rdt
trunk/t/test05.rdt
trunk/t/test06.rdt
trunk/t/test07.rdt
trunk/t/test08.rdt
trunk/t/test09.rdt
trunk/t/test10.rdt
trunk/t/test11.rdt
trunk/t/test12.rdt
trunk/t/test13.rdt
trunk/t/test14.rdt
trunk/t/test16.rdt
trunk/t/test20-streval.rdt
trunk/t/test30-fork.0.rdt
trunk/t/test30-fork.1.rdt
trunk/t/test40pmc.rdt
trunk/t/test50-disable.rdt
trunk/t/test60-subname.rdt
trunk/t/test61-submerge.rdt
trunk/t/test80-recurs.rdt
Log:
Fix version number in bin/nytprofhtml.
Add dump() methods to ::FileInfo and ::SubInfo.
Modify _dump_elements to call dump() method where possible.
Extend $si->caller_places and refactor caller_count() to use it.
Remove migration scaffolding for fid_info filenames (/.../ prefix)
and sub_callers data, and update tests to match.
Modified: trunk/bin/nytprofhtml
==============================================================================
--- trunk/bin/nytprofhtml (original)
+++ trunk/bin/nytprofhtml Wed Dec 10 09:12:38 2008
@@ -26,7 +26,7 @@
html_safe_filename
);
-our $VERSION = 1.02;
+our $VERSION = 2.07;
if ($VERSION != $Devel::NYTProf::Core::VERSION) {
die "$0 version '$VERSION' doesn't match
version '$Devel::NYTProf::Core::VERSION' of
$INC{'Devel/NYTProf/Core.pm'}\n";
Modified: trunk/lib/Devel/NYTProf/Data.pm
==============================================================================
--- trunk/lib/Devel/NYTProf/Data.pm (original)
+++ trunk/lib/Devel/NYTProf/Data.pm Wed Dec 10 09:12:38 2008
@@ -299,13 +299,7 @@
#skip_stdlib
# shallow clone and add sub_caller for migration of tests
- my $startnode = { %$self, sub_caller => my $sub_caller = {} };
- for my $si (values %{ $self->{sub_subinfo} }) {
- my $sc = $si->callers or next;
- my $subname = $si->subname;
- $subname = $subname->[0] if ref $subname;
- $sub_caller->{$subname} = $sc;
- }
+ my $startnode = $self;
$self->_clear_caches;
@@ -369,35 +363,38 @@
next if $callback and not $callback->([ @$path, $key ], $value);
- $value = $value->_values_for_dump
- if blessed $value && $value->can('_values_for_dump');
-
next if $key eq 'fid_srclines';
- # special case some common cases to be more compact:
- # fid_*_time [fid][line] = [N,N]
- # sub_subinfo {subname} =
[fid,startline,endline,calls,incl_time]
- my $as_compact = $format->{$key1}{compact};
- if (not defined $as_compact) { # so guess...
- $as_compact =
- (UNIVERSAL::isa($value, 'ARRAY') && @$value <= 9 && !grep
{ ref or !defined }
- @$value);
- }
- $as_compact = 0 if not ref $value eq 'ARRAY';
+ my $prefix = "$padN$key$colon";
- # print the value intro
- print $fh "$padN$key$colon"
- unless ref $value && !$as_compact;
-
- if ($as_compact) {
- no warnings qw(uninitialized);
- printf $fh "[ %s ]\n", join(" ", map { defined($_) ?
$_ : 'undef' } @$value);
- }
- elsif (ref $value) {
- _dump_elements($value, $separator, $fh, [ @$path, $key ],
$callback);
+ if (UNIVERSAL::can($value,'dump')) {
+ $value->dump($separator, $fh, [ @$path, $key ], $prefix);
}
else {
- print $fh "$value\n";
+ $value = $value->_values_for_dump
+ if blessed $value && $value->can('_values_for_dump');
+
+ # special case some common cases to be more compact:
+ # fid_*_time [fid][line] = [N,N]
+ # sub_subinfo {subname} =
[fid,startline,endline,calls,incl_time]
+ my $as_compact = $format->{$key1}{compact};
+ if (not defined $as_compact) { # so guess...
+ $as_compact =
+ (UNIVERSAL::isa($value, 'ARRAY') && @$value <= 9
&& !grep { ref or !defined }
+ @$value);
+ }
+ $as_compact = 0 if not ref $value eq 'ARRAY';
+
+ if ($as_compact) {
+ no warnings qw(uninitialized);
+ printf $fh "%s[ %s ]\n", $prefix, join(" ", map {
defined($_) ? $_ : 'undef' } @$value);
+ }
+ elsif (ref $value) {
+ _dump_elements($value, $separator, $fh, [ @$path, $key ],
$callback);
+ }
+ else {
+ print $fh "$prefix$value\n";
+ }
}
}
printf $fh "%s$end\n", ($pad x (@$path - 1)) if $end;
Modified: trunk/lib/Devel/NYTProf/FileInfo.pm
==============================================================================
--- trunk/lib/Devel/NYTProf/FileInfo.pm (original)
+++ trunk/lib/Devel/NYTProf/FileInfo.pm Wed Dec 10 09:12:38 2008
@@ -49,19 +49,6 @@
sub sub_call_lines { shift->[NYTP_FIDi_SUBS_CALLED()] }
-sub _values_for_dump {
- my $self = shift;
- my @values = @{$self}[
- NYTP_FIDi_FILENAME, NYTP_FIDi_EVAL_FID, NYTP_FIDi_EVAL_LINE,
NYTP_FIDi_FID,
- NYTP_FIDi_FLAGS, NYTP_FIDi_FILESIZE, NYTP_FIDi_FILEMTIME
- ];
- $values[0] = $self->filename_without_inc;
- # XXX temp hack
- $values[0] = "/.../$values[0]" unless $self->eval_fid;
- #push @values, $self->has_evals ? "evals:".join(",", map { $_->fid }
@{$self->has_evals}) : "";
- return [EMAIL PROTECTED];
-}
-
sub line_time_data {
my ($self, $levels) = @_;
$levels ||= [ 'line' ];
@@ -162,5 +149,16 @@
or return undef;
return [ <$fh> ];
}
+
+sub dump {
+ my ($self, $separator, $fh, $path, $prefix) = @_;
+ my @values = @{$self}[
+ NYTP_FIDi_FILENAME, NYTP_FIDi_EVAL_FID, NYTP_FIDi_EVAL_LINE,
NYTP_FIDi_FID,
+ NYTP_FIDi_FLAGS, NYTP_FIDi_FILESIZE, NYTP_FIDi_FILEMTIME
+ ];
+ $values[0] = $self->filename_without_inc;
+ printf $fh "%s[ %s ]\n", $prefix, join(" ", map { defined($_) ?
$_ : 'undef' } @values);
+}
+
1;
Modified: trunk/lib/Devel/NYTProf/SubInfo.pm
==============================================================================
--- trunk/lib/Devel/NYTProf/SubInfo.pm (original)
+++ trunk/lib/Devel/NYTProf/SubInfo.pm Wed Dec 10 09:12:38 2008
@@ -131,16 +131,6 @@
return;
}
-sub _values_for_dump {
- my $self = shift;
- my @values = @{$self}[
- NYTP_SIi_FID, NYTP_SIi_FIRST_LINE, NYTP_SIi_LAST_LINE,
- NYTP_SIi_CALL_COUNT, NYTP_SIi_INCL_RTIME, NYTP_SIi_EXCL_RTIME,
- NYTP_SIi_REC_DEPTH, NYTP_SIi_RECI_RTIME
- ];
- return [EMAIL PROTECTED];
-}
-
sub caller_fids {
my ($self, $merge_evals) = @_;
my $callers = $self->callers($merge_evals) || {};
@@ -148,27 +138,21 @@
return @fids; # count in scalar context
}
-sub caller_count {
- my ($self, $merge_evals) = @_;
- my $callers = $self->callers($merge_evals) || {};
-
- # count of the number of distinct locations sub is called from
- return sum(map { scalar keys %$_ } values %$callers);
-}
+sub caller_count { return scalar shift->caller_places; } # XXX deprecate
later
sub caller_places {
my ($self, $merge_evals) = @_;
- my $callers = $self->callers
- or return 0;
+ my $callers = $self->callers || {};
- # scalar: count of the number of distinct locations sub is called from
- # list: array of [ fid, line, @... ]
my @callers;
- warn "caller_places in list context not implemented/tested yet";
- while (my ($fid, $lines) = each %$callers) {
- push @callers, map { [$fid, $_, @{$lines->{$_}}] } keys %$lines;
+ for my $fid (sort { $a <=> $b } keys %$callers) {
+ my $lines_hash = $callers->{$fid};
+ for my $line (sort { $a <=> $b } keys %$lines_hash) {
+ push @callers, [ $fid, $line, $lines_hash->{$line} ];
+ }
}
- return [EMAIL PROTECTED];
+
+ return @callers; # scalar: number of distinct calling locations
}
sub normalize_for_test {
@@ -183,6 +167,7 @@
# { fid => { line => [ count, incl, excl, ucpu, scpu, reci, recdepth ]
} }
my $callers = $self->callers || {};
+
# zero per-call-location subroutine inclusive time
for my $sc (map { values %$_ } values %$callers) {
$sc->[NYTP_SCi_INCL_RTIME] =
@@ -190,6 +175,29 @@
$sc->[NYTP_SCi_INCL_UTIME] =
$sc->[NYTP_SCi_INCL_STIME] =
$sc->[NYTP_SCi_RECI_RTIME] = 0;
+ }
+}
+
+sub dump {
+ my ($self, $separator, $fh, $path, $prefix) = @_;
+
+ my @values = @{$self}[
+ NYTP_SIi_FID, NYTP_SIi_FIRST_LINE, NYTP_SIi_LAST_LINE,
+ NYTP_SIi_CALL_COUNT, NYTP_SIi_INCL_RTIME, NYTP_SIi_EXCL_RTIME,
+ NYTP_SIi_REC_DEPTH, NYTP_SIi_RECI_RTIME
+ ];
+ printf $fh "%s[ %s ]\n",
+ $prefix, join(" ", map { defined($_) ? $_ : 'undef' } @values);
+
+ my @caller_places = $self->caller_places;
+ for my $cp (@caller_places) {
+ my ($fid, $line, $sc) = @$cp;
+ printf $fh "%s%s%s%d%s%d%s[ %s ]\n",
+ $prefix,
+ 'called_by', $separator,
+ $fid, $separator,
+ $line, $separator,
+ join(" ", map { defined($_) ? $_ : 'undef' } @$sc);
}
}
Modified: trunk/t/test01.rdt
==============================================================================
--- trunk/t/test01.rdt (original)
+++ trunk/t/test01.rdt Wed Dec 10 09:12:38 2008
@@ -18,7 +18,7 @@
fid_block_time 1 16 [ 0 1 ]
fid_block_time 1 17 [ 0 1 ]
fid_block_time 1 18 [ 0 1 ]
-fid_fileinfo 1 [ /.../test01.p 1 2 0 0 ]
+fid_fileinfo 1 [ test01.p 1 2 0 0 ]
fid_line_time 1 2 [ 0 2 ]
fid_line_time 1 3 [ 0 2 ]
fid_line_time 1 7 [ 0 4 ]
@@ -37,12 +37,12 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller main::bar 1 12 [ 1 0 0 0 0 0 0 ]
-sub_caller main::bar 1 16 [ 1 0 0 0 0 0 0 ]
-sub_caller main::bar 1 3 [ 2 0 0 0 0 0 0 ]
-sub_caller main::baz 1 17 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo 1 13 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo 1 18 [ 1 0 0 0 0 0 0 ]
sub_subinfo main::bar [ 1 6 8 4 0 0 0 0 ]
+sub_subinfo main::bar called_by 1 3 [ 2 0 0 0 0 0 0
]
+sub_subinfo main::bar called_by 1 12 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::bar called_by 1 16 [ 1 0 0 0 0 0 0
]
sub_subinfo main::baz [ 1 10 14 1 0 0 0 0 ]
+sub_subinfo main::baz called_by 1 17 [ 1 0 0 0 0 0 0
]
sub_subinfo main::foo [ 1 1 4 2 0 0 0 0 ]
+sub_subinfo main::foo called_by 1 13 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::foo called_by 1 18 [ 1 0 0 0 0 0 0
]
Modified: trunk/t/test02.rdt
==============================================================================
--- trunk/t/test02.rdt (original)
+++ trunk/t/test02.rdt Wed Dec 10 09:12:38 2008
@@ -19,7 +19,7 @@
fid_block_time 1 19 [ 0 1 ]
fid_block_time 1 20 [ 0 1 ]
fid_block_time 1 21 [ 0 1 ]
-fid_fileinfo 1 [ /.../test02.p 1 2 0 0 ]
+fid_fileinfo 1 [ test02.p 1 2 0 0 ]
fid_line_time 1 2 [ 0 2 ]
fid_line_time 1 3 [ 0 2 ]
fid_line_time 1 7 [ 0 7 ]
@@ -42,15 +42,15 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller main::bar 1 12 [ 1 0 0 0 0 0 0 ]
-sub_caller main::bar 1 13 [ 1 0 0 0 0 0 0 ]
-sub_caller main::bar 1 14 [ 1 0 0 0 0 0 0 ]
-sub_caller main::bar 1 18 [ 1 0 0 0 0 0 0 ]
-sub_caller main::bar 1 19 [ 1 0 0 0 0 0 0 ]
-sub_caller main::bar 1 3 [ 2 0 0 0 0 0 0 ]
-sub_caller main::baz 1 20 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo 1 15 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo 1 21 [ 1 0 0 0 0 0 0 ]
sub_subinfo main::bar [ 1 6 8 7 0 0 0 0 ]
+sub_subinfo main::bar called_by 1 3 [ 2 0 0 0 0 0 0
]
+sub_subinfo main::bar called_by 1 12 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::bar called_by 1 13 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::bar called_by 1 14 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::bar called_by 1 18 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::bar called_by 1 19 [ 1 0 0 0 0 0 0
]
sub_subinfo main::baz [ 1 10 16 1 0 0 0 0 ]
+sub_subinfo main::baz called_by 1 20 [ 1 0 0 0 0 0 0
]
sub_subinfo main::foo [ 1 1 4 2 0 0 0 0 ]
+sub_subinfo main::foo called_by 1 15 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::foo called_by 1 21 [ 1 0 0 0 0 0 0
]
Modified: trunk/t/test03.rdt
==============================================================================
--- trunk/t/test03.rdt (original)
+++ trunk/t/test03.rdt Wed Dec 10 09:12:38 2008
@@ -17,7 +17,7 @@
fid_block_time 1 12 [ 0 3 ]
fid_block_time 1 17 [ 0 1 ]
fid_block_time 1 18 [ 0 1 ]
-fid_fileinfo 1 [ /.../test03.p 1 2 0 0 ]
+fid_fileinfo 1 [ test03.p 1 2 0 0 ]
fid_line_time 1 2 [ 0 1 ]
fid_line_time 1 3 [ 0 1 ]
fid_line_time 1 8 [ 0 2 ]
@@ -34,10 +34,10 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller main::bar 1 13 [ 1 0 0 0 0 0 0 ]
-sub_caller main::bar 1 17 [ 1 0 0 0 0 0 0 ]
-sub_caller main::baz 1 18 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo 1 14 [ 1 0 0 0 0 0 0 ]
sub_subinfo main::bar [ 1 7 9 2 0 0 0 0 ]
+sub_subinfo main::bar called_by 1 13 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::bar called_by 1 17 [ 1 0 0 0 0 0 0
]
sub_subinfo main::baz [ 1 11 15 1 0 0 0 0 ]
+sub_subinfo main::baz called_by 1 18 [ 1 0 0 0 0 0 0
]
sub_subinfo main::foo [ 1 1 5 1 0 0 0 0 ]
+sub_subinfo main::foo called_by 1 14 [ 1 0 0 0 0 0 0
]
Modified: trunk/t/test05.rdt
==============================================================================
--- trunk/t/test05.rdt (original)
+++ trunk/t/test05.rdt Wed Dec 10 09:12:38 2008
@@ -18,7 +18,7 @@
fid_block_time 1 19 [ 0 2 ]
fid_block_time 1 22 [ 0 1 ]
fid_block_time 1 23 [ 0 1 ]
-fid_fileinfo 1 [ /.../test05.p 1 2 0 0 ]
+fid_fileinfo 1 [ test05.p 1 2 0 0 ]
fid_line_time 1 5 [ 0 1 ]
fid_line_time 1 6 [ 0 1 ]
fid_line_time 1 9 [ 0 1 ]
@@ -37,12 +37,12 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller main::bar 1 10 [ 1 0 0 0 0 0 0 ]
-sub_caller main::bar 1 6 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo1 1 22 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo2 1 23 [ 1 0 0 0 0 0 0 ]
-sub_caller main::yeppers 1 14 [ 2 0 0 0 0 0 0 ]
sub_subinfo main::bar [ 1 12 17 2 0 0 0 0 ]
+sub_subinfo main::bar called_by 1 6 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::bar called_by 1 10 [ 1 0 0 0 0 0 0
]
sub_subinfo main::foo1 [ 1 4 7 1 0 0 0 0 ]
+sub_subinfo main::foo1 called_by 1 22 [ 1 0 0 0 0 0 0
]
sub_subinfo main::foo2 [ 1 8 11 1 0 0 0 0 ]
+sub_subinfo main::foo2 called_by 1 23 [ 1 0 0 0 0 0 0
]
sub_subinfo main::yeppers [ 1 18 20 2 0 0 0 0 ]
+sub_subinfo main::yeppers called_by 1 14 [ 2 0 0 0 0 0 0
]
Modified: trunk/t/test06.rdt
==============================================================================
--- trunk/t/test06.rdt (original)
+++ trunk/t/test06.rdt Wed Dec 10 09:12:38 2008
@@ -26,7 +26,7 @@
fid_block_time 1 42 [ 0 1 ]
fid_block_time 1 43 [ 0 1 ]
fid_block_time 1 44 [ 0 1 ]
-fid_fileinfo 1 [ /.../test06.p 1 2 0 0 ]
+fid_fileinfo 1 [ test06.p 1 2 0 0 ]
fid_line_time 1 4 [ 0 1 ]
fid_line_time 1 6 [ 0 410 ]
fid_line_time 1 10 [ 0 1 ]
@@ -61,15 +61,15 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller main::bar 1 43 [ 1 0 0 0 0 0 0 ]
-sub_caller main::baz 1 44 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo 1 42 [ 1 0 0 0 0 0 0 ]
-sub_caller main::noop 1 12 [ 10 0 0 0 0 0 0 ]
-sub_caller main::noop 1 14 [ 100 0 0 0 0 0 0 ]
-sub_caller main::noop 1 25 [ 100 0 0 0 0 0 0 ]
-sub_caller main::noop 1 36 [ 100 0 0 0 0 0 0 ]
-sub_caller main::noop 1 37 [ 100 0 0 0 0 0 0 ]
sub_subinfo main::bar [ 1 19 28 1 0 0 0 0 ]
+sub_subinfo main::bar called_by 1 43 [ 1 0 0 0 0 0 0
]
sub_subinfo main::baz [ 1 30 40 1 0 0 0 0 ]
+sub_subinfo main::baz called_by 1 44 [ 1 0 0 0 0 0 0
]
sub_subinfo main::foo [ 1 9 17 1 0 0 0 0 ]
+sub_subinfo main::foo called_by 1 42 [ 1 0 0 0 0 0 0
]
sub_subinfo main::noop [ 1 5 7 410 0 0 0 0 ]
+sub_subinfo main::noop called_by 1 12 [ 10 0 0 0 0 0
0 ]
+sub_subinfo main::noop called_by 1 14 [ 100 0 0 0 0 0
0 ]
+sub_subinfo main::noop called_by 1 25 [ 100 0 0 0 0 0
0 ]
+sub_subinfo main::noop called_by 1 36 [ 100 0 0 0 0 0
0 ]
+sub_subinfo main::noop called_by 1 37 [ 100 0 0 0 0 0
0 ]
Modified: trunk/t/test07.rdt
==============================================================================
--- trunk/t/test07.rdt (original)
+++ trunk/t/test07.rdt Wed Dec 10 09:12:38 2008
@@ -13,7 +13,7 @@
attribute total_sub_calls 0
attribute xs_version 0
fid_block_time 1 1 [ 0 1 ]
-fid_fileinfo 1 [ /.../test07.p 1 2 0 0 ]
+fid_fileinfo 1 [ test07.p 1 2 0 0 ]
fid_line_time 1 1 [ 0 1 ]
fid_sub_time 1 1 [ 0 1 ]
profile_modes fid_block_time block
Modified: trunk/t/test08.rdt
==============================================================================
--- trunk/t/test08.rdt (original)
+++ trunk/t/test08.rdt Wed Dec 10 09:12:38 2008
@@ -16,7 +16,7 @@
fid_block_time 1 1 1 1
fid_block_time 1 1 2 1 [ 0 1 ]
fid_block_time 1 1 2 2 [ 0 1 ]
-fid_fileinfo 1 [ /.../test08.p 1 2 0 0 ]
+fid_fileinfo 1 [ test08.p 1 2 0 0 ]
fid_fileinfo 2 [ (eval 0)[test08.p:1] 1 1 2 2 0 0 ]
fid_line_time 1 1 0 0
fid_line_time 1 1 1 1
Modified: trunk/t/test09.rdt
==============================================================================
--- trunk/t/test09.rdt (original)
+++ trunk/t/test09.rdt Wed Dec 10 09:12:38 2008
@@ -23,7 +23,7 @@
fid_block_time 1 11 [ 0 1 ]
fid_block_time 1 12 [ 0 1 ]
fid_block_time 1 13 [ 0 1 ]
-fid_fileinfo 1 [ /.../test09.p 1 2 0 0 ]
+fid_fileinfo 1 [ test09.p 1 2 0 0 ]
fid_fileinfo 2 [ (eval 0)[test09.p:2] 1 2 2 2 0 0 ]
fid_fileinfo 3 [ (eval 0)[test09.p:8] 1 8 3 2 0 0 ]
fid_fileinfo 4 [ (eval 0)[test09.p:2] 1 2 4 2 0 0 ]
@@ -54,10 +54,10 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller main::bar 1 13 [ 1 0 0 0 0 0 0 ]
-sub_caller main::bar 2 3 [ 1 0 0 0 0 0 0 ]
-sub_caller main::bar 4 3 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo 1 11 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo 1 12 [ 1 0 0 0 0 0 0 ]
sub_subinfo main::bar [ 1 7 9 3 0 0 0 0 ]
+sub_subinfo main::bar called_by 1 13 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::bar called_by 2 3 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::bar called_by 4 3 [ 1 0 0 0 0 0 0
]
sub_subinfo main::foo [ 1 1 5 2 0 0 0 0 ]
+sub_subinfo main::foo called_by 1 11 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::foo called_by 1 12 [ 1 0 0 0 0 0 0
]
Modified: trunk/t/test10.rdt
==============================================================================
--- trunk/t/test10.rdt (original)
+++ trunk/t/test10.rdt Wed Dec 10 09:12:38 2008
@@ -17,7 +17,7 @@
fid_block_time 1 1 2 1 [ 0 1 ]
fid_block_time 1 1 2 2 [ 0 1 ]
fid_block_time 1 2 [ 0 1 ]
-fid_fileinfo 1 [ /.../test10.p 1 2 0 0 ]
+fid_fileinfo 1 [ test10.p 1 2 0 0 ]
fid_fileinfo 2 [ (eval 0)[test10.p:1] 1 1 2 2 0 0 ]
fid_line_time 1 1 0 0
fid_line_time 1 1 1 1
@@ -32,5 +32,5 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller main::__ANON__[(eval 0)[test10.p:1]:1] 1 2 [ 1 0 0
0 0 0 0 ]
sub_subinfo main::__ANON__[(eval 0)[test10.p:1]:1] [ 2 1 1 1 0 0 0 0 ]
+sub_subinfo main::__ANON__[(eval 0)[test10.p:1]:1] called_by 1
2 [ 1 0 0 0
0 0 0 ]
Modified: trunk/t/test11.rdt
==============================================================================
--- trunk/t/test11.rdt (original)
+++ trunk/t/test11.rdt Wed Dec 10 09:12:38 2008
@@ -17,7 +17,7 @@
fid_block_time 1 3 2 1 [ 0 2 ]
fid_block_time 1 5 [ 0 1 ]
fid_block_time 1 6 [ 0 1 ]
-fid_fileinfo 1 [ /.../test11.p 1 2 0 0 ]
+fid_fileinfo 1 [ test11.p 1 2 0 0 ]
fid_fileinfo 2 [ (eval 0)[test11.p:3] 1 3 2 2 0 0 ]
fid_line_time 1 3 0 0
fid_line_time 1 3 1 0
@@ -32,7 +32,7 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller main::__ANON__[(eval 0)[test11.p:3]:1] 1 5 [ 1 0 0
0 0 0 0 ]
-sub_caller main::__ANON__[(eval 0)[test11.p:3]:1] 1 6 [ 1 0 0
0 0 0 0 ]
sub_subinfo main::BEGIN [ 1 2 4 0 0 0 0 0 ]
sub_subinfo main::__ANON__[(eval 0)[test11.p:3]:1] [ 2 1 1 2 0 0 0 0 ]
+sub_subinfo main::__ANON__[(eval 0)[test11.p:3]:1] called_by 1
5 [ 1 0 0 0
0 0 0 ]
+sub_subinfo main::__ANON__[(eval 0)[test11.p:3]:1] called_by 1
6 [ 1 0 0 0
0 0 0 ]
Modified: trunk/t/test12.rdt
==============================================================================
--- trunk/t/test12.rdt (original)
+++ trunk/t/test12.rdt Wed Dec 10 09:12:38 2008
@@ -14,8 +14,8 @@
attribute xs_version 0
fid_block_time 1 1 [ 0 1 ]
fid_block_time 2 1 [ 0 1 ]
-fid_fileinfo 1 [ /.../test12.p 1 2 0 0 ]
-fid_fileinfo 2 [ /.../test12.pl 2 2 0 0 ]
+fid_fileinfo 1 [ test12.p 1 2 0 0 ]
+fid_fileinfo 2 [ test12.pl 2 2 0 0 ]
fid_line_time 1 1 [ 0 1 ]
fid_line_time 2 1 [ 0 1 ]
fid_sub_time 1 1 [ 0 1 ]
Modified: trunk/t/test13.rdt
==============================================================================
--- trunk/t/test13.rdt (original)
+++ trunk/t/test13.rdt Wed Dec 10 09:12:38 2008
@@ -22,7 +22,7 @@
fid_block_time 1 19 2 1 [ 0 1 ]
fid_block_time 1 20 [ 0 2 ]
fid_block_time 1 21 [ 0 1 ]
-fid_fileinfo 1 [ /.../test13.p 1 2 0 0 ]
+fid_fileinfo 1 [ test13.p 1 2 0 0 ]
fid_fileinfo 2 [ (eval 0)[test13.p:19] 1 19 2 2 0 0 ]
fid_line_time 1 4 [ 0 3 ]
fid_line_time 1 8 [ 0 1 ]
@@ -46,11 +46,11 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller main::bar 1 20 [ 1 0 0 0 0 0 0 ]
-sub_caller main::baz 1 21 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo 1 13 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo 1 14 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo 2 1 [ 1 0 0 0 0 0 0 ]
sub_subinfo main::bar [ 1 7 9 1 0 0 0 0 ]
+sub_subinfo main::bar called_by 1 20 [ 1 0 0 0 0 0 0
]
sub_subinfo main::baz [ 1 11 17 1 0 0 0 0 ]
+sub_subinfo main::baz called_by 1 21 [ 1 0 0 0 0 0 0
]
sub_subinfo main::foo [ 1 3 5 3 0 0 0 0 ]
+sub_subinfo main::foo called_by 1 13 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::foo called_by 1 14 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::foo called_by 2 1 [ 1 0 0 0 0 0 0
]
Modified: trunk/t/test14.rdt
==============================================================================
--- trunk/t/test14.rdt (original)
+++ trunk/t/test14.rdt Wed Dec 10 09:12:38 2008
@@ -10,7 +10,7 @@
attribute total_stmts_discounted 0
attribute total_stmts_duration 0
attribute total_stmts_measured 0
-attribute total_sub_calls 2
+attribute total_sub_calls 4
attribute xs_version 0
fid_block_time 1 17 [ 0 1 ]
fid_block_time 1 18 [ 0 1 ]
@@ -19,9 +19,9 @@
fid_block_time 3 11 1 2
fid_block_time 3 11 2 1 [ 0 1 ]
fid_block_time 3 14 [ 0 1 ]
-fid_fileinfo 1 [ /.../test14.p 1 2 0 0 ]
-fid_fileinfo 2 [ /.../AutoLoader.pm 2 2 0 0 ]
-fid_fileinfo 3 [ /.../test14.pm 3 2 0 0 ]
+fid_fileinfo 1 [ test14.p 1 2 0 0 ]
+fid_fileinfo 2 [ AutoLoader.pm 2 2 0 0 ]
+fid_fileinfo 3 [ test14.pm 3 2 0 0 ]
fid_fileinfo 4 [ (eval 0)[test14.pm (autosplit into
auto/test14/bar.al):11] 3 11 4 2 0 0 ]
fid_line_time 1 17 [ 0 1 ]
fid_line_time 1 18 [ 0 1 ]
@@ -40,8 +40,6 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller AutoLoader::AUTOLOAD 1 17 [ 1 0 0 0 0 0 0 ]
-sub_caller AutoLoader::AUTOLOAD 1 18 [ 1 0 0 0 0 0 0 ]
sub_subinfo main::BEGIN [ 1 16 16 0 0 0 0 0 ]
sub_subinfo test14::BEGIN [ 3 2 2 0 0 0 0 0 ]
sub_subinfo test14::bar [ 3 10 12 0 0 0 0 0 ]
Modified: trunk/t/test16.rdt
==============================================================================
--- trunk/t/test16.rdt (original)
+++ trunk/t/test16.rdt Wed Dec 10 09:12:38 2008
@@ -10,6 +10,7 @@
attribute total_stmts_discounted 0
attribute total_stmts_duration 0
attribute total_stmts_measured 0
+attribute total_sub_calls 4
attribute xs_version 0
fid_block_time 1 9 [ 0 4 ]
fid_block_time 1 10 [ 0 3 ]
@@ -18,7 +19,7 @@
fid_block_time 1 31 [ 0 1 ]
fid_block_time 1 32 [ 0 1 ]
fid_block_time 1 33 [ 0 1 ]
-fid_fileinfo 1 [ /.../test16.p 1 2 0 0 ]
+fid_fileinfo 1 [ test16.p 1 2 0 0 ]
fid_line_time 1 9 [ 0 2 ]
fid_line_time 1 10 [ 0 2 ]
fid_line_time 1 11 [ 0 2 ]
@@ -38,10 +39,10 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller main::bar 1 32 [ 1 0 0 0 0 0 0 ]
-sub_caller main::bar 1 33 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo 1 30 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo 1 31 [ 1 0 0 0 0 0 0 ]
sub_subinfo main::BEGIN [ 1 6 6 0 0 0 0 0 ]
sub_subinfo main::bar [ 1 20 27 2 0 0 0 0 ]
+sub_subinfo main::bar called_by 1 32 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::bar called_by 1 33 [ 1 0 0 0 0 0 0
]
sub_subinfo main::foo [ 1 8 18 2 0 0 0 0 ]
+sub_subinfo main::foo called_by 1 30 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::foo called_by 1 31 [ 1 0 0 0 0 0 0
]
Modified: trunk/t/test20-streval.rdt
==============================================================================
--- trunk/t/test20-streval.rdt (original)
+++ trunk/t/test20-streval.rdt Wed Dec 10 09:12:38 2008
@@ -23,7 +23,7 @@
fid_block_time 1 14 0 0
fid_block_time 1 14 1 1
fid_block_time 1 14 2 1 [ 0 2 ]
-fid_fileinfo 1 [ /.../test20-streval.p 1 2 0 0 ]
+fid_fileinfo 1 [ test20-streval.p 1 2 0 0 ]
fid_fileinfo 2 [ (eval 0)[test20-streval.p:8] 1 8 2 2 0 0 ]
fid_fileinfo 3 [ (eval 0)[test20-streval.p:11] 1 11 3 2 0 0 ]
fid_fileinfo 4 [ (eval 0)[test20-streval.p:11] 1 11 4 2 0 0 ]
@@ -54,8 +54,8 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller main::foo 2 1 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo 3 1 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo 4 1 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo 6 1 [ 1 0 0 0 0 0 0 ]
sub_subinfo main::foo [ 1 3 3 4 0 0 0 0 ]
+sub_subinfo main::foo called_by 2 1 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::foo called_by 3 1 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::foo called_by 4 1 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::foo called_by 6 1 [ 1 0 0 0 0 0 0
]
Modified: trunk/t/test30-fork.0.rdt
==============================================================================
--- trunk/t/test30-fork.0.rdt (original)
+++ trunk/t/test30-fork.0.rdt Wed Dec 10 09:12:38 2008
@@ -20,7 +20,7 @@
fid_block_time 1 19 [ 0 1 ]
fid_block_time 1 20 [ 0 1 ]
fid_block_time 1 22 [ 0 1 ]
-fid_fileinfo 1 [ /.../test30-fork.0.p 1 2 0 0 ]
+fid_fileinfo 1 [ test30-fork.0.p 1 2 0 0 ]
fid_line_time 1 2 [ 0 1 ]
fid_line_time 1 3 [ 0 1 ]
fid_line_time 1 7 [ 0 3 ]
@@ -42,11 +42,11 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller main::other 1 12 [ 1 0 0 0 0 0 0 ]
-sub_caller main::other 1 20 [ 1 0 0 0 0 0 0 ]
-sub_caller main::other 1 3 [ 1 0 0 0 0 0 0 ]
-sub_caller main::postfork 1 19 [ 1 0 0 0 0 0 0 ]
-sub_caller main::prefork 1 15 [ 1 0 0 0 0 0 0 ]
sub_subinfo main::other [ 1 6 8 3 0 0 0 0 ]
+sub_subinfo main::other called_by 1 3 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::other called_by 1 12 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::other called_by 1 20 [ 1 0 0 0 0 0 0
]
sub_subinfo main::postfork [ 1 10 13 1 0 0 0 0 ]
+sub_subinfo main::postfork called_by 1 19 [ 1 0 0 0 0 0 0
]
sub_subinfo main::prefork [ 1 1 4 1 0 0 0 0 ]
+sub_subinfo main::prefork called_by 1 15 [ 1 0 0 0 0 0 0
]
Modified: trunk/t/test30-fork.1.rdt
==============================================================================
--- trunk/t/test30-fork.1.rdt (original)
+++ trunk/t/test30-fork.1.rdt Wed Dec 10 09:12:38 2008
@@ -17,7 +17,7 @@
fid_block_time 1 19 [ 0 1 ]
fid_block_time 1 20 [ 0 1 ]
fid_block_time 1 22 [ 0 1 ]
-fid_fileinfo 1 [ /.../test30-fork.0.p 1 2 0 0 ]
+fid_fileinfo 1 [ test30-fork.0.p 1 2 0 0 ]
fid_line_time 1 7 [ 0 2 ]
fid_line_time 1 11 [ 0 1 ]
fid_line_time 1 12 [ 0 1 ]
@@ -32,9 +32,9 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller main::other 1 12 [ 1 0 0 0 0 0 0 ]
-sub_caller main::other 1 20 [ 1 0 0 0 0 0 0 ]
-sub_caller main::postfork 1 19 [ 1 0 0 0 0 0 0 ]
sub_subinfo main::other [ 1 6 8 2 0 0 0 0 ]
+sub_subinfo main::other called_by 1 12 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::other called_by 1 20 [ 1 0 0 0 0 0 0
]
sub_subinfo main::postfork [ 1 10 13 1 0 0 0 0 ]
+sub_subinfo main::postfork called_by 1 19 [ 1 0 0 0 0 0 0
]
sub_subinfo main::prefork [ 1 1 4 0 0 0 0 0 ]
Modified: trunk/t/test40pmc.rdt
==============================================================================
--- trunk/t/test40pmc.rdt (original)
+++ trunk/t/test40pmc.rdt Wed Dec 10 09:12:38 2008
@@ -14,8 +14,8 @@
attribute xs_version 0
fid_block_time 1 4 [ 0 1 ]
fid_block_time 2 6 [ 0 1 ]
-fid_fileinfo 1 [ /.../test40pmc.p 1 2 0 0 ]
-fid_fileinfo 2 [ /.../test40pmc.pm 2 3 0 0 ]
+fid_fileinfo 1 [ test40pmc.p 1 2 0 0 ]
+fid_fileinfo 2 [ test40pmc.pm 2 3 0 0 ]
fid_line_time 1 4 [ 0 1 ]
fid_line_time 2 6 [ 0 1 ]
fid_sub_time 1 4 [ 0 1 ]
@@ -23,6 +23,6 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller test40pmc::foo 1 4 [ 1 0 0 0 0 0 0 ]
sub_subinfo main::BEGIN [ 1 3 3 0 0 0 0 0 ]
sub_subinfo test40pmc::foo [ 2 5 7 1 0 0 0 0 ]
+sub_subinfo test40pmc::foo called_by 1 4 [ 1 0 0 0 0 0 0
]
Modified: trunk/t/test50-disable.rdt
==============================================================================
--- trunk/t/test50-disable.rdt (original)
+++ trunk/t/test50-disable.rdt Wed Dec 10 09:12:38 2008
@@ -15,7 +15,7 @@
fid_block_time 1 1 [ 0 1 ]
fid_block_time 1 2 [ 0 1 ]
fid_block_time 1 5 [ 0 1 ]
-fid_fileinfo 1 [ /.../test50-disable.p 1 2 0 0 ]
+fid_fileinfo 1 [ test50-disable.p 1 2 0 0 ]
fid_line_time 1 1 [ 0 1 ]
fid_line_time 1 2 [ 0 1 ]
fid_line_time 1 5 [ 0 1 ]
@@ -25,5 +25,5 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller DB::enable_profile 1 4 [ 1 0 0 0 0 0 0 ]
sub_subinfo DB::enable_profile [ undef 0 0 2 0 0 0 0 ]
+sub_subinfo DB::enable_profile called_by 1 4 [ 1 0 0
0 0 0 0 ]
Modified: trunk/t/test60-subname.rdt
==============================================================================
--- trunk/t/test60-subname.rdt (original)
+++ trunk/t/test60-subname.rdt Wed Dec 10 09:12:38 2008
@@ -21,8 +21,8 @@
fid_block_time 1 19 [ 0 1 ]
fid_block_time 1 24 [ 0 1 ]
fid_block_time 1 25 [ 0 1 ]
-fid_fileinfo 1 [ /.../test60-subname.p 1 2 0 0 ]
-fid_fileinfo 2 [ /.../Devel/NYTProf/Test.pm 2 4 0 0 ]
+fid_fileinfo 1 [ test60-subname.p 1 2 0 0 ]
+fid_fileinfo 2 [ Devel/NYTProf/Test.pm 2 4 0 0 ]
fid_line_time 1 5 [ 0 1 ]
fid_line_time 1 9 [ 0 1 ]
fid_line_time 1 12 [ 0 1 ]
@@ -44,13 +44,13 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller Devel::NYTProf::Test::example_xsub 1 12 [ 1 0 0
0 0 0 0 ]
-sub_caller Devel::NYTProf::Test::example_xsub 1 16 [ 1 0 0
0 0 0 0 ]
-sub_caller Devel::NYTProf::Test::example_xsub 1 19 [ 1 0 0
0 0 0 0 ]
-sub_caller Devel::NYTProf::Test::example_xsub 1 5 [ 1 0 0
0 0 0 0 ]
-sub_caller Devel::NYTProf::Test::example_xsub 1 9 [ 1 0 0
0 0 0 0 ]
-sub_caller main::launch 1 25 [ 1 0 0 0 0 0 0 ]
sub_subinfo Devel::NYTProf::Test::example_sub [ 2 13 13 0 0 0 0 0 ]
sub_subinfo Devel::NYTProf::Test::example_xsub [ 2 0 0 6 0 0 0 0 ]
+sub_subinfo Devel::NYTProf::Test::example_xsub called_by 1
5 [ 1 0 0 0 0 0
0 ]
+sub_subinfo Devel::NYTProf::Test::example_xsub called_by 1
9 [ 1 0 0 0 0 0
0 ]
+sub_subinfo Devel::NYTProf::Test::example_xsub called_by 1
12 [ 1 0 0 0 0
0 0 ]
+sub_subinfo Devel::NYTProf::Test::example_xsub called_by 1
16 [ 1 0 0 0 0
0 0 ]
+sub_subinfo Devel::NYTProf::Test::example_xsub called_by 1
19 [ 1 0 0 0 0
0 0 ]
sub_subinfo main::BEGIN [ 1 2 2 0 0 0 0 0 ]
sub_subinfo main::launch [ 1 24 24 1 0 0 0 0 ]
+sub_subinfo main::launch called_by 1 25 [ 1 0 0 0 0 0 0
]
Modified: trunk/t/test61-submerge.rdt
==============================================================================
--- trunk/t/test61-submerge.rdt (original)
+++ trunk/t/test61-submerge.rdt Wed Dec 10 09:12:38 2008
@@ -18,7 +18,7 @@
fid_block_time 1 8 1 2
fid_block_time 1 8 2 1 [ 0 3 ]
fid_block_time 1 8 2 2 [ 0 3 ]
-fid_fileinfo 1 [ /.../test61-submerge.p 1 2 0 0 ]
+fid_fileinfo 1 [ test61-submerge.p 1 2 0 0 ]
fid_fileinfo 2 [ (eval 0)[test61-submerge.p:8] 1 8 2 2 0 0 ]
fid_fileinfo 3 [ (eval 0)[test61-submerge.p:8] 1 8 3 2 0 0 ]
fid_fileinfo 4 [ (eval 0)[test61-submerge.p:8] 1 8 4 2 0 0 ]
@@ -37,9 +37,9 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller main::__ANON__[(eval 0)[test61-submerge.p:8]:1] 1 8
[ 1 0 0 0 0
0 0 ]
-sub_caller main::foo 2 1 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo 3 1 [ 1 0 0 0 0 0 0 ]
-sub_caller main::foo 4 1 [ 1 0 0 0 0 0 0 ]
sub_subinfo main::__ANON__[(eval 0)[test61-submerge.p:8]:1] [ 3 1 1 3 0 0
0 0 ]
+sub_subinfo main::__ANON__[(eval 0)[test61-submerge.p:8]:1] called_by
1 8
[ 1 0 0 0 0 0 0 ]
sub_subinfo main::foo [ 1 4 4 3 0 0 0 0 ]
+sub_subinfo main::foo called_by 2 1 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::foo called_by 3 1 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::foo called_by 4 1 [ 1 0 0 0 0 0 0
]
Modified: trunk/t/test80-recurs.rdt
==============================================================================
--- trunk/t/test80-recurs.rdt (original)
+++ trunk/t/test80-recurs.rdt Wed Dec 10 09:12:38 2008
@@ -14,7 +14,7 @@
attribute xs_version 0
fid_block_time 1 2 [ 0 6 ]
fid_block_time 1 7 [ 0 1 ]
-fid_fileinfo 1 [ /.../test80-recurs.p 1 2 0 0 ]
+fid_fileinfo 1 [ test80-recurs.p 1 2 0 0 ]
fid_line_time 1 2 [ 0 2 ]
fid_line_time 1 3 [ 0 2 ]
fid_line_time 1 4 [ 0 2 ]
@@ -24,6 +24,6 @@
profile_modes fid_block_time block
profile_modes fid_line_time line
profile_modes fid_sub_time sub
-sub_caller main::recurs 1 4 [ 1 0 0 0 0 0 1 ]
-sub_caller main::recurs 1 7 [ 1 0 0 0 0 0 0 ]
sub_subinfo main::recurs [ 1 1 5 2 0 0 1 0 ]
+sub_subinfo main::recurs called_by 1 4 [ 1 0 0 0 0 0 1
]
+sub_subinfo main::recurs called_by 1 7 [ 1 0 0 0 0 0 0
]
--~--~---------~--~----~------------~-------~--~----~
You've received this message because you are subscribed to
the Devel::NYTProf Development User group.
Group hosted at: http://groups.google.com/group/develnytprof-dev
Project hosted at: http://perl-devel-nytprof.googlecode.com
CPAN distribution: http://search.cpan.org/dist/Devel-NYTProf
To post, email: [email protected]
To unsubscribe, email: [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---