Author: tim.bunce
Date: Fri Dec 19 02:44:55 2008
New Revision: 654
Added:
trunk/t/test21-streval3.rdt
Modified:
trunk/MANIFEST
trunk/lib/Devel/NYTProf/FileInfo.pm
trunk/t/test08.rdt
trunk/t/test09.rdt
trunk/t/test10.rdt
trunk/t/test11.rdt
trunk/t/test13.rdt
trunk/t/test14.rdt
trunk/t/test20-streval.rdt
trunk/t/test61-submerge.rdt
Log:
Include details of string evals in FileInfo dump()
Modified: trunk/MANIFEST
==============================================================================
--- trunk/MANIFEST (original)
+++ trunk/MANIFEST Fri Dec 19 02:44:55 2008
@@ -90,8 +90,9 @@
t/test20-streval.p
t/test20-streval.rdt
t/test20-streval.x
-t/test21-streval3.x
t/test21-streval3.p
+t/test21-streval3.rdt
+t/test21-streval3.x
t/test30-fork.0.p
t/test30-fork.0.rdt
t/test30-fork.0.x
Modified: trunk/lib/Devel/NYTProf/FileInfo.pm
==============================================================================
--- trunk/lib/Devel/NYTProf/FileInfo.pm (original)
+++ trunk/lib/Devel/NYTProf/FileInfo.pm Fri Dec 19 02:44:55 2008
@@ -209,6 +209,24 @@
join(" ", map { defined($_) ? $_ : 'undef' } @$sc)
}
}
+
+ # string evals, group by the line the eval is on
+ my %eval_lines;
+ for my $eval_fi (@{ $self->has_evals(0) || [] }) {
+ push @{ $eval_lines{ $eval_fi->eval_line } }, $eval_fi;
+ }
+ for my $line (sort { $a <=> $b } keys %eval_lines) {
+ my $eval_fis = $eval_lines{$line};
+
+ my @has_evals = map { @{ $_->has_evals(1)||[] } } @$eval_fis;
+
+ printf $fh "%s%s%s%d%s[ %s %s ]\n",
+ $prefix, 'eval', $separator,
+ $eval_fis->[0]->eval_line, $separator,
+ scalar @$eval_fis, # count of evals executed on this line
+ scalar @has_evals, # count of nested evals they executed
+ }
+
}
}
Modified: trunk/t/test08.rdt
==============================================================================
--- trunk/t/test08.rdt (original)
+++ trunk/t/test08.rdt Fri Dec 19 02:44:55 2008
@@ -17,6 +17,7 @@
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 1 ]
+fid_fileinfo 1 eval 1 [ 1 0 ]
fid_fileinfo 2 [ (eval 0)[test08.p:1] 1 1 2 2 0 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 Fri Dec 19 02:44:55 2008
@@ -29,6 +29,8 @@
fid_fileinfo 1 call 11 main::foo [ 1 0 0 0 0 0 0 ]
fid_fileinfo 1 call 12 main::foo [ 1 0 0 0 0 0 0 ]
fid_fileinfo 1 call 13 main::bar [ 1 0 0 0 0 0 0 ]
+fid_fileinfo 1 eval 2 [ 2 0 ]
+fid_fileinfo 1 eval 8 [ 3 0 ]
fid_fileinfo 2 [ (eval 0)[test09.p:2] 1 2 2 2 0 0 0 ]
fid_fileinfo 2 call 3 main::bar [ 1 0 0 0 0 0 0 ]
fid_fileinfo 3 [ (eval 0)[test09.p:8] 1 8 3 2 0 0 0 ]
Modified: trunk/t/test10.rdt
==============================================================================
--- trunk/t/test10.rdt (original)
+++ trunk/t/test10.rdt Fri Dec 19 02:44:55 2008
@@ -19,6 +19,7 @@
fid_block_time 1 2 [ 0 1 ]
fid_fileinfo 1 [ test10.p 1 2 0 0 1 ]
fid_fileinfo 1 call 2 main::__ANON__[(eval 1)[test10.p:1]:1]
[ 1 0 0 0 0 0
0 ]
+fid_fileinfo 1 eval 1 [ 1 0 ]
fid_fileinfo 2 [ (eval 0)[test10.p:1] 1 1 2 2 0 0 0 ]
fid_fileinfo 2 sub main::__ANON__[(eval 0)[test10.p:1]:1] 1-1
fid_line_time 1 1 0 0
Modified: trunk/t/test11.rdt
==============================================================================
--- trunk/t/test11.rdt (original)
+++ trunk/t/test11.rdt Fri Dec 19 02:44:55 2008
@@ -21,6 +21,7 @@
fid_fileinfo 1 sub main::BEGIN 2-4
fid_fileinfo 1 call 5 main::__ANON__[(eval 1)[test11.p:3]:1]
[ 1 0 0 0 0 0
0 ]
fid_fileinfo 1 call 6 main::__ANON__[(eval 1)[test11.p:3]:1]
[ 1 0 0 0 0 0
0 ]
+fid_fileinfo 1 eval 3 [ 1 0 ]
fid_fileinfo 2 [ (eval 0)[test11.p:3] 1 3 2 2 0 0 0 ]
fid_fileinfo 2 sub main::__ANON__[(eval 0)[test11.p:3]:1] 1-1
fid_line_time 1 3 0 0
Modified: trunk/t/test13.rdt
==============================================================================
--- trunk/t/test13.rdt (original)
+++ trunk/t/test13.rdt Fri Dec 19 02:44:55 2008
@@ -30,6 +30,7 @@
fid_fileinfo 1 call 14 main::foo [ 1 0 0 0 0 0 0 ]
fid_fileinfo 1 call 20 main::bar [ 1 0 0 0 0 0 0 ]
fid_fileinfo 1 call 21 main::baz [ 1 0 0 0 0 0 0 ]
+fid_fileinfo 1 eval 19 [ 1 0 ]
fid_fileinfo 2 [ (eval 0)[test13.p:19] 1 19 2 2 0 0 0 ]
fid_fileinfo 2 call 1 main::foo [ 1 0 0 0 0 0 0 ]
fid_line_time 1 4 [ 0 3 ]
Modified: trunk/t/test14.rdt
==============================================================================
--- trunk/t/test14.rdt (original)
+++ trunk/t/test14.rdt Fri Dec 19 02:44:55 2008
@@ -28,6 +28,7 @@
fid_fileinfo 3 sub test14::BEGIN 2-2
fid_fileinfo 3 sub test14::bar 10-12
fid_fileinfo 3 sub test14::foo 6-8
+fid_fileinfo 3 eval 11 [ 1 0 ]
fid_fileinfo 4 [ (eval 0)[test14.pm (autosplit into
auto/test14/bar.al):11] 3 11 4 2 0 0 0 ]
fid_line_time 1 17 [ 0 1 ]
fid_line_time 1 18 [ 0 1 ]
Modified: trunk/t/test20-streval.rdt
==============================================================================
--- trunk/t/test20-streval.rdt (original)
+++ trunk/t/test20-streval.rdt Fri Dec 19 02:44:55 2008
@@ -25,6 +25,9 @@
fid_block_time 1 14 2 1 [ 0 2 ]
fid_fileinfo 1 [ test20-streval.p 1 2 0 0 4 ]
fid_fileinfo 1 sub main::foo 3-3
+fid_fileinfo 1 eval 8 [ 1 0 ]
+fid_fileinfo 1 eval 11 [ 2 0 ]
+fid_fileinfo 1 eval 14 [ 1 1 ]
fid_fileinfo 2 [ (eval 0)[test20-streval.p:8] 1 8 2 2 0 0 0 ]
fid_fileinfo 2 call 1 main::foo [ 1 0 0 0 0 0 0 ]
fid_fileinfo 3 [ (eval 0)[test20-streval.p:11] 1 11 3 2 0 0 0 ]
@@ -32,6 +35,7 @@
fid_fileinfo 4 [ (eval 0)[test20-streval.p:11] 1 11 4 2 0 0 0 ]
fid_fileinfo 4 call 1 main::foo [ 1 0 0 0 0 0 0 ]
fid_fileinfo 5 [ (eval 0)[test20-streval.p:14] 1 14 5 2 0 0 1 ]
+fid_fileinfo 5 eval 1 [ 1 0 ]
fid_fileinfo 6 [ (eval 0)[(eval 0)[test20-streval.p:14]:1] 5 1 6 2 0 0
0 ]
fid_fileinfo 6 call 1 main::foo [ 1 0 0 0 0 0 0 ]
fid_line_time 1 3 [ 0 4 ]
Added: trunk/t/test21-streval3.rdt
==============================================================================
--- (empty file)
+++ trunk/t/test21-streval3.rdt Fri Dec 19 02:44:55 2008
@@ -0,0 +1,53 @@
+attribute application test21-streval3.p
+attribute basetime 0
+attribute clock_id 0
+attribute nv_size 0
+attribute perl_version 0
+attribute profiler_duration 0
+attribute profiler_end_time 0
+attribute profiler_start_time 0
+attribute ticks_per_sec 0
+attribute total_stmts_discounted 0
+attribute total_stmts_duration 0
+attribute total_stmts_measured 0
+attribute total_sub_calls 3
+attribute xs_version 0
+fid_block_time 1 4 [ 0 3 ]
+fid_block_time 1 5 [ 0 1 ]
+fid_block_time 1 17 0 0
+fid_block_time 1 17 1 1
+fid_block_time 1 17 2 2 [ 0 3 ]
+fid_block_time 1 17 2 3 [ 0 3 ]
+fid_block_time 1 17 2 4 [ 0 2 ]
+fid_fileinfo 1 [ test21-streval3.p 1 2 0 0 1 ]
+fid_fileinfo 1 sub main::foo 4-4
+fid_fileinfo 1 eval 17 [ 1 2 ]
+fid_fileinfo 2 [ (eval 0)[test21-streval3.p:17] 1 17 2 2 0 0 1 ]
+fid_fileinfo 2 call 3 main::foo [ 1 0 0 0 0 0 0 ]
+fid_fileinfo 2 eval 4 [ 1 1 ]
+fid_fileinfo 3 [ (eval 0)[(eval 0)[test21-streval3.p:17]:4] 2 4 3 2 0
0 1 ]
+fid_fileinfo 3 call 3 main::foo [ 1 0 0 0 0 0 0 ]
+fid_fileinfo 3 eval 4 [ 1 0 ]
+fid_fileinfo 4 [ (eval 0)[(eval 0)[(eval
0)[test21-streval3.p:17]:4]:4] 3
4 4 2 0 0 0 ]
+fid_fileinfo 4 call 3 main::foo [ 1 0 0 0 0 0 0 ]
+fid_line_time 1 4 [ 0 3 ]
+fid_line_time 1 5 [ 0 1 ]
+fid_line_time 1 17 0 0
+fid_line_time 1 17 1 1
+fid_line_time 1 17 2 2 [ 0 3 ]
+fid_line_time 1 17 2 3 [ 0 3 ]
+fid_line_time 1 17 2 4 [ 0 2 ]
+fid_sub_time 1 4 [ 0 3 ]
+fid_sub_time 1 5 [ 0 1 ]
+fid_sub_time 1 17 0 0
+fid_sub_time 1 17 1 1
+fid_sub_time 1 17 2 2 [ 0 3 ]
+fid_sub_time 1 17 2 3 [ 0 3 ]
+fid_sub_time 1 17 2 4 [ 0 2 ]
+profile_modes fid_block_time block
+profile_modes fid_line_time line
+profile_modes fid_sub_time sub
+sub_subinfo main::foo [ 1 4 4 3 0 0 0 0 ]
+sub_subinfo main::foo called_by 2 3 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::foo called_by 3 3 [ 1 0 0 0 0 0 0
]
+sub_subinfo main::foo called_by 4 3 [ 1 0 0 0 0 0 0
]
Modified: trunk/t/test61-submerge.rdt
==============================================================================
--- trunk/t/test61-submerge.rdt (original)
+++ trunk/t/test61-submerge.rdt Fri Dec 19 02:44:55 2008
@@ -23,6 +23,7 @@
fid_fileinfo 1 call 8 main::__ANON__[(eval
1)[test61-submerge.p:8]:1] [ 1
0 0 0 0 0 0 ]
fid_fileinfo 1 call 8 main::__ANON__[(eval
2)[test61-submerge.p:8]:1] [ 1
0 0 0 0 0 0 ]
fid_fileinfo 1 call 8 main::__ANON__[(eval
3)[test61-submerge.p:8]:1] [ 1
0 0 0 0 0 0 ]
+fid_fileinfo 1 eval 8 [ 3 0 ]
fid_fileinfo 2 [ (eval 0)[test61-submerge.p:8] 1 8 2 2 0 0 0 ]
fid_fileinfo 2 sub main::__ANON__[(eval 1)[test61-submerge.p:8]:1]
1-1
fid_fileinfo 2 call 1 main::foo [ 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]
-~----------~----~----~----~------~----~------~--~---