Profile of t/optimization.t

← Index
NYTProf Performance Profile «line view»
For t/optimization.t
Run on Thu Jan 8 22:47:42 2015
Reported on Thu Jan 8 22:48:05 2015

Filename | /home/ss5/local/projects/data-dpath/t/optimization.t
Statements | Executed 44 statements in 4.24ms

Subroutines
Calls | P | F | Exclusive Time | Inclusive Time | Subroutine
--- | --- | --- | --- | --- | ---
1 | 1 | 1 | 4.21ms | 12.5ms | main::::BEGIN@7 main::BEGIN@7
1 | 1 | 1 | 4.10ms | 17.8ms | main::::BEGIN@6 main::BEGIN@6
1 | 1 | 1 | 2.12ms | 2.15ms | main::::BEGIN@4 main::BEGIN@4
1 | 1 | 1 | 479µs | 92.5ms | main::::BEGIN@8 main::BEGIN@8
1 | 1 | 1 | 380µs | 430µs | main::::BEGIN@3 main::BEGIN@3
10 | 10 | 7 | 133µs | 133µs | UNIVERSAL::::VERSIONUNIVERSAL::VERSION (xsub)
37 | 3 | 3 | 68µs | 68µs | UNIVERSAL::::isaUNIVERSAL::isa (xsub)
2 | 2 | 1 | 52µs | 52µs | main::::CORE:readline main::CORE:readline (opcode)
2 | 2 | 1 | 30µs | 30µs | main::::CORE:open main::CORE:open (opcode)
23 | 1 | 1 | 18µs | 18µs | Internals::::SvREADONLYInternals::SvREADONLY (xsub)
1 | 1 | 1 | 13µs | 13µs | version::::(bool version::(bool (xsub)
1 | 1 | 1 | 13µs | 39µs | main::::BEGIN@9 main::BEGIN@9
2 | 2 | 1 | 11µs | 11µs | main::::CORE:close main::CORE:close (opcode)
1 | 1 | 1 | 11µs | 149µs | main::::BEGIN@21 main::BEGIN@21
1 | 1 | 1 | 8µs | 184µs | main::::BEGIN@13 main::BEGIN@13
4 | 1 | 1 | 7µs | 7µs | mro::::method_changed_in mro::method_changed_in (xsub)
1 | 1 | 1 | 6µs | 6µs | version::::(cmp version::(cmp (xsub)
0 | 0 | 0 | 0s | 0s | main::::RUNTIME main::RUNTIME

Call graph for these subroutines as a Graphviz dot language file.

Line | State ments | Time on line | Calls | Time in subs | Code
--- | --- | --- | --- | --- | ---
0 |  |  | 2 | 59µs | Profile data that couldn't be associated with a specific line: # spent 57µs making 1 call to Test::Builder::END # spent 2µs making 1 call to Class::XSAccessor::END
1 | 1 | 37µs |  |  | #! /usr/bin/env perl
2 |  |  |  |  |
3 | 2 | 344µs | 2 | 453µs | # spent 430µs (380+51) within main::BEGIN@3 which was called: # once (380µs+51µs) by main::RUNTIME at line 3 use strict; # spent 430µs making 1 call to main::BEGIN@3 # spent 23µs making 1 call to strict::import
4 | 2 | 2.00ms | 2 | 2.16ms | # spent 2.15ms (2.12+29µs) within main::BEGIN@4 which was called: # once (2.12ms+29µs) by main::RUNTIME at line 4 use warnings; # spent 2.15ms making 1 call to main::BEGIN@4 # spent 9µs making 1 call to warnings::import
5 |  |  |  |  |
6 | 2 | 124µs | 2 | 19.7ms | # spent 17.8ms (4.10+13.7) within main::BEGIN@6 which was called: # once (4.10ms+13.7ms) by main::RUNTIME at line 6 use Test::More; # spent 17.8ms making 1 call to main::BEGIN@6 # spent 1.90ms making 1 call to Test::Builder::Module::import
7 | 2 | 103µs | 2 | 12.7ms | # spent 12.5ms (4.21+8.25) within main::BEGIN@7 which was called: # once (4.21ms+8.25ms) by main::RUNTIME at line 7 use Test::Deep; # spent 12.5ms making 1 call to main::BEGIN@7 # spent 210µs making 1 call to Exporter::import
8 | 2 | 100µs | 2 | 92.7ms | # spent 92.5ms (479µs+92.1) within main::BEGIN@8 which was called: # once (479µs+92.1ms) by main::RUNTIME at line 8 use Data::DPath 'dpath'; # spent 92.5ms making 1 call to main::BEGIN@8 # spent 155µs making 1 call to Sub::Exporter::__ANON__[Sub/Exporter.pm:337]
9 | 2 | 56µs | 2 | 66µs | # spent 39µs (13+27) within main::BEGIN@9 which was called: # once (13µs+27µs) by main::RUNTIME at line 9 use Data::Dumper; # spent 39µs making 1 call to main::BEGIN@9 # spent 27µs making 1 call to Exporter::import
10 |  |  |  |  |
11 |  |  |  |  | # local $Data::DPath::DEBUG = 1;
12 |  |  |  |  |
13 |  |  |  |  | # spent 184µs (8+176) within main::BEGIN@13 which was called: # once (8µs+176µs) by main::RUNTIME at line 19 BEGIN {
14 | 1 | 4µs |  |  | if ($] < 5.010) {
15 |  |  |  |  | plan skip_all => "Perl 5.010 required for the smartmatch overloaded tests. This is ".$];
16 |  |  |  |  | } else {
17 | 1 | 2µs | 1 | 176µs | plan tests => 5; # spent 176µs making 1 call to Test::More::plan
18 |  |  |  |  | }
19 | 1 | 528µs | 1 | 184µs | } # spent 184µs making 1 call to main::BEGIN@13
20 |  |  |  |  |
21 | 3 | 23µs | 3 | 914µs | # spent 149µs (11+139) within main::BEGIN@21 which was called: # once (11µs+139µs) by Test::More::_eval at line 21 use_ok( 'Data::DPath' ); # spent 626µs making 1 call to Test::More::use_ok # spent 149µs making 1 call to main::BEGIN@21 # spent 139µs making 1 call to Sub::Exporter::__ANON__[Sub/Exporter.pm:337]
22 | 1 | 2µs |  |  |
23 | 1 | 500ns |  |  | my $datacontent='';
24 |  |  |  |  | {
25 | 2 | 2µs |  |  | local $/;
26 | 1 | 20µs | 1 | 14µs | open F, "<", "t/bigdata.dump" or die; # spent 14µs making 1 call to main::CORE:open
27 | 1 | 26µs | 1 | 21µs | $datacontent = <F>; # spent 21µs making 1 call to main::CORE:readline
28 | 1 | 10µs | 1 | 4µs | close F; # spent 4µs making 1 call to main::CORE:close
29 |  |  |  |  | }
30 | 1 | 200ns |  |  | my $VAR1;
31 | 1 | 267µs |  |  | eval $datacontent; # spent 82µs executing statements in string eval
32 | 1 | 400ns |  |  | my $data = $VAR1;
33 |  |  |  |  |
34 | 1 | 200ns |  |  | my $res;
35 |  |  |  |  |
36 | 1 | 13µs | 2 | 526µs | $res = $data ~~ dpath('/report'); # spent 302µs making 1 call to Data::DPath::__ANON__[lib/Data/DPath.pm:19] # spent 224µs making 1 call to Data::DPath::Path::op_match
37 | 1 | 3µs | 1 | 362µs | is($res->[0]{reportgroup_testrun_id}, 30862, "simple dpath" ); # spent 362µs making 1 call to Test::More::is
38 |  |  |  |  |
39 | 1 | 42µs | 2 | 2.52ms | $res = $data ~~ dpath('//data//benchmark[ value eq "call_simple"]/../mean/..'); # spent 1.93ms making 1 call to Data::DPath::Path::op_match # spent 586µs making 1 call to Data::DPath::__ANON__[lib/Data/DPath.pm:19]
40 | 1 | 12µs | 1 | 17.6ms | cmp_bag($res, [ # spent 17.6ms making 1 call to Test::Deep::cmp_bag
41 |  |  |  |  | {
42 |  |  |  |  | 'glibc' => 'glibc, 2.4',
43 |  |  |  |  | 'count' => '150',
44 |  |  |  |  | 'language_series' => 'arch_barcelona',
45 |  |  |  |  | 'standard_deviation' => '0.0164822946672',
46 |  |  |  |  | 'language_binary' => '/opt/artemis/slbench/python/arch_barcelona/2.7/bin/python',
47 |  |  |  |  | 'release' => '2.6.30.10-105.2.23.fc11.x86_64',
48 |  |  |  |  | 'operating_system' => 'Linux',
49 |  |  |  |  | 'hostname' => 'foo.dept.lhm.com',
50 |  |  |  |  | 'mean' => '0.592707689603',
51 |  |  |  |  | 'median' => '0.58355140686',
52 |  |  |  |  | 'architecture' => '64bit',
53 |  |  |  |  | 'number_CPUs' => '16',
54 |  |  |  |  | 'benchmark' => 'call_simple',
55 |  |  |  |  | 'machine' => 'x86_64'
56 |  |  |  |  | }
57 |  |  |  |  | ]
58 |  |  |  |  | , "very complicated dpath" );
59 |  |  |  |  |
60 | 1 | 700ns |  |  | $datacontent='';
61 |  |  |  |  | {
62 | 2 | 2µs |  |  | local $/;
63 | 1 | 21µs | 1 | 16µs | open F, "<", "t/bigdata2.dump" or die; # spent 16µs making 1 call to main::CORE:open
64 | 1 | 37µs | 1 | 31µs | $datacontent = <F>; # spent 31µs making 1 call to main::CORE:readline
65 | 1 | 21µs | 1 | 7µs | close F; # spent 7µs making 1 call to main::CORE:close
66 |  |  |  |  | }
67 | 1 | 286µs |  |  | eval $datacontent; # spent 82µs executing statements in string eval
68 | 1 | 12µs |  |  | $data = $VAR1;
69 |  |  |  |  |
70 | 1 | 13µs | 2 | 305µs | $res = $data ~~ dpath('/report'); # spent 200µs making 1 call to Data::DPath::__ANON__[lib/Data/DPath.pm:19] # spent 105µs making 1 call to Data::DPath::Path::op_match
71 | 1 | 4µs | 1 | 357µs | is($res->[0]{reportgroup_testrun_id}, 30862, "simple dpath 2" ); # spent 357µs making 1 call to Test::More::is
72 |  |  |  |  |
73 | 1 | 73µs | 2 | 2.76ms | $res = $data ~~ dpath('//data//benchmark[ value eq "xcall_simple"]/../mean/..'); # spent 2.23ms making 1 call to Data::DPath::Path::op_match # spent 530µs making 1 call to Data::DPath::__ANON__[lib/Data/DPath.pm:19]
74 | 1 | 46µs | 1 | 3.24ms | cmp_bag($res, [ # spent 3.24ms making 1 call to Test::Deep::cmp_bag
75 |  |  |  |  | {
76 |  |  |  |  | 'glibc' => 'xglibc, 2.4',
77 |  |  |  |  | 'count' => 'x150',
78 |  |  |  |  | 'language_series' => 'xarch_barcelona',
79 |  |  |  |  | 'standard_deviation' => 'x0.0164822946672',
80 |  |  |  |  | 'language_binary' => 'x/opt/artemis/slbench/python/arch_barcelona/2.7/bin/python',
81 |  |  |  |  | 'release' => 'x2.6.30.10-105.2.23.fc11.x86_64',
82 |  |  |  |  | 'operating_system' => 'xLinux',
83 |  |  |  |  | 'hostname' => 'xfoo.dept.lhm.com',
84 |  |  |  |  | 'mean' => 'x0.592707689603',
85 |  |  |  |  | 'median' => 'x0.58355140686',
86 |  |  |  |  | 'architecture' => 'x64bit',
87 |  |  |  |  | 'number_CPUs' => 'x16',
88 |  |  |  |  | 'benchmark' => 'xcall_simple',
89 |  |  |  |  | 'machine' => 'xx86_64'
90 |  |  |  |  | }
91 |  |  |  |  | ]
92 |  |  |  |  | , "dpath on complex blessed ARRAYs" );
|  |  |  |  | # spent 18µs within Internals::SvREADONLY which was called 23 times, avg 791ns/call: # 23 times (18µs+0s) by constant::import at line 147 of constant.pm, avg 791ns/call sub Internals::SvREADONLY; # xsub
|  |  |  |  | # spent 133µs within UNIVERSAL::VERSION which was called 10 times, avg 13µs/call: # once (21µs+0s) by Test::Builder::Module::BEGIN@5 at line 5 of Test/Builder/Module.pm # once (16µs+0s) by Test::More::BEGIN@23 at line 23 of Test/More.pm # once (14µs+0s) by Data::OptList::BEGIN@11 at line 11 of Data/OptList.pm # once (13µs+0s) by Exception::Class::Base::BEGIN@9 at line 9 of Exception/Class/Base.pm # once (13µs+0s) by Exception::Class::Base::BEGIN@10 at line 10 of Exception/Class/Base.pm # once (13µs+0s) by Sub::Exporter::BEGIN@11 at line 11 of Sub/Exporter.pm # once (12µs+0s) by Exporter::Heavy::heavy_export at line 120 of Exporter/Heavy.pm # once (12µs+0s) by Data::DPath::Path::BEGIN@11 at line 11 of lib/Data/DPath/Path.pm # once (10µs+0s) by Sub::Exporter::BEGIN@12 at line 12 of Sub/Exporter.pm # once (9µs+0s) by Sub::Exporter::BEGIN@13 at line 13 of Sub/Exporter.pm sub UNIVERSAL::VERSION; # xsub
|  |  |  |  | # spent 68µs within UNIVERSAL::isa which was called 37 times, avg 2µs/call: # 18 times (42µs+0s) by base::import at line 74 of base.pm, avg 2µs/call # 16 times (22µs+0s) by Test::Deep::wrap at line 362 of Test/Deep.pm, avg 1µs/call # 3 times (4µs+0s) by Exception::Class::_make_subclass at line 152 of Exception/Class.pm, avg 2µs/call sub UNIVERSAL::isa; # xsub
|  |  |  |  | # spent 11µs within main::CORE:close which was called 2 times, avg 5µs/call: # once (7µs+0s) by main::RUNTIME at line 65 # once (4µs+0s) by main::RUNTIME at line 28 sub main::CORE:close; # opcode
|  |  |  |  | # spent 30µs within main::CORE:open which was called 2 times, avg 15µs/call: # once (16µs+0s) by main::RUNTIME at line 63 # once (14µs+0s) by main::RUNTIME at line 26 sub main::CORE:open; # opcode
|  |  |  |  | # spent 52µs within main::CORE:readline which was called 2 times, avg 26µs/call: # once (31µs+0s) by main::RUNTIME at line 64 # once (21µs+0s) by main::RUNTIME at line 27 sub main::CORE:readline; # opcode
|  |  |  |  | # spent 7µs within mro::method_changed_in which was called 4 times, avg 2µs/call: # 4 times (7µs+0s) by constant::import at line 162 of constant.pm, avg 2µs/call sub mro::method_changed_in; # xsub
|  |  |  |  | # spent 13µs within version::(bool which was called: # once (13µs+0s) by Test::Builder::BEGIN@19 at line 57 of Config.pm sub version::(bool; # xsub
|  |  |  |  | # spent 6µs within version::(cmp which was called: # once (6µs+0s) by Test::Builder::BEGIN@19 at line 60 of Config.pm sub version::(cmp; # xsub