Filename | /Users/timbo/perl5/perlbrew/perls/perl-5.18.2/lib/site_perl/5.18.2/Path/IsDev/Role/HeuristicSet.pm |
Statements | Executed 1509 statements in 3.04ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
11 | 1 | 1 | 1.15ms | 93.8ms | matches | Path::IsDev::Role::HeuristicSet::
122 | 1 | 1 | 601µs | 23.0ms | _load_module | Path::IsDev::Role::HeuristicSet::
110 | 1 | 1 | 516µs | 4.11ms | _expand_heuristic | Path::IsDev::Role::HeuristicSet::
143 | 2 | 1 | 184µs | 184µs | _com_mn | Path::IsDev::Role::HeuristicSet::
122 | 1 | 1 | 174µs | 174µs | _use_module | Path::IsDev::Role::HeuristicSet::
33 | 1 | 1 | 169µs | 1.36ms | _expand_negative_heuristic | Path::IsDev::Role::HeuristicSet::
1 | 1 | 1 | 15µs | 15µs | BEGIN@1.17 | Role::Tiny::
1 | 1 | 1 | 10µs | 22µs | BEGIN@2.18 | Role::Tiny::
1 | 1 | 1 | 7µs | 84µs | BEGIN@28 | Path::IsDev::Role::HeuristicSet::
1 | 1 | 1 | 7µs | 10µs | BEGIN@3.19 | Role::Tiny::
1 | 1 | 1 | 6µs | 8µs | BEGIN@4.20 | Role::Tiny::
2 | 1 | 1 | 4µs | 4µs | _debug | Path::IsDev::Role::HeuristicSet::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | 2 | 39µs | 1 | 15µs | # spent 15µs within Role::Tiny::BEGIN@1.17 which was called:
# once (15µs+0s) by Role::Tiny::_load_module at line 1 # spent 15µs making 1 call to Role::Tiny::BEGIN@1.17 |
2 | 2 | 19µs | 2 | 33µs | # spent 22µs (10+11) within Role::Tiny::BEGIN@2.18 which was called:
# once (10µs+11µs) by Role::Tiny::_load_module at line 2 # spent 22µs making 1 call to Role::Tiny::BEGIN@2.18
# spent 11µs making 1 call to strict::import |
3 | 2 | 17µs | 2 | 14µs | # spent 10µs (7+4) within Role::Tiny::BEGIN@3.19 which was called:
# once (7µs+4µs) by Role::Tiny::_load_module at line 3 # spent 10µs making 1 call to Role::Tiny::BEGIN@3.19
# spent 4µs making 1 call to warnings::import |
4 | 2 | 115µs | 2 | 9µs | # spent 8µs (6+1) within Role::Tiny::BEGIN@4.20 which was called:
# once (6µs+1µs) by Role::Tiny::_load_module at line 4 # spent 8µs making 1 call to Role::Tiny::BEGIN@4.20
# spent 1µs making 1 call to utf8::import |
5 | |||||
6 | package Path::IsDev::Role::HeuristicSet; | ||||
7 | 1 | 600ns | $Path::IsDev::Role::HeuristicSet::VERSION = '1.001000'; | ||
8 | # ABSTRACT: Role for sets of Heuristics. | ||||
9 | |||||
10 | 1 | 200ns | our $AUTHORITY = 'cpan:KENTNL'; # AUTHORITY | ||
11 | |||||
- - | |||||
23 | 244 | 378µs | 122 | 22.2ms | # spent 174µs within Path::IsDev::Role::HeuristicSet::_use_module which was called 122 times, avg 1µs/call:
# 122 times (174µs+0s) by Path::IsDev::Role::HeuristicSet::_load_module at line 50, avg 1µs/call # spent 22.2ms making 122 calls to Module::Runtime::use_module, avg 182µs/call |
24 | 286 | 440µs | 143 | 4.60ms | # spent 184µs within Path::IsDev::Role::HeuristicSet::_com_mn which was called 143 times, avg 1µs/call:
# 110 times (135µs+0s) by Path::IsDev::Role::HeuristicSet::_expand_heuristic at line 40, avg 1µs/call
# 33 times (49µs+0s) by Path::IsDev::Role::HeuristicSet::_expand_negative_heuristic at line 45, avg 1µs/call # spent 4.60ms making 143 calls to Module::Runtime::compose_module_name, avg 32µs/call |
25 | ## no critic (Subroutines::ProhibitCallsToUnexportedSubs) | ||||
26 | 4 | 9µs | 2 | 8µs | # spent 4µs within Path::IsDev::Role::HeuristicSet::_debug which was called 2 times, avg 2µs/call:
# 2 times (4µs+0s) by Path::IsDev::Role::HeuristicSet::matches at line 69, avg 2µs/call # spent 8µs making 2 calls to Path::IsDev::Object::__ANON__[Path/IsDev/Object.pm:156], avg 4µs/call |
27 | |||||
28 | 2 | 212µs | 2 | 162µs | # spent 84µs (7+77) within Path::IsDev::Role::HeuristicSet::BEGIN@28 which was called:
# once (7µs+77µs) by Role::Tiny::_load_module at line 28 # spent 84µs making 1 call to Path::IsDev::Role::HeuristicSet::BEGIN@28
# spent 77µs making 1 call to Role::Tiny::import |
29 | |||||
- - | |||||
36 | 1 | 2µs | 1 | 4µs | requires 'modules'; # spent 4µs making 1 call to Role::Tiny::__ANON__[Role/Tiny.pm:63] |
37 | |||||
38 | # spent 4.11ms (516µs+3.60) within Path::IsDev::Role::HeuristicSet::_expand_heuristic which was called 110 times, avg 37µs/call:
# 110 times (516µs+3.60ms) by Path::IsDev::Role::HeuristicSet::Simple::modules at line 65 of Path/IsDev/Role/HeuristicSet/Simple.pm, avg 37µs/call | ||||
39 | 110 | 36µs | my ( undef, $hn ) = @_; | ||
40 | 110 | 227µs | 110 | 135µs | return _com_mn( 'Path::IsDev::Heuristic', $hn ); # spent 135µs making 110 calls to Path::IsDev::Role::HeuristicSet::_com_mn, avg 1µs/call |
41 | } | ||||
42 | |||||
43 | # spent 1.36ms (169µs+1.19) within Path::IsDev::Role::HeuristicSet::_expand_negative_heuristic which was called 33 times, avg 41µs/call:
# 33 times (169µs+1.19ms) by Path::IsDev::Role::HeuristicSet::Simple::modules at line 62 of Path/IsDev/Role/HeuristicSet/Simple.pm, avg 41µs/call | ||||
44 | 33 | 12µs | my ( undef, $hn ) = @_; | ||
45 | 33 | 85µs | 33 | 49µs | return _com_mn( 'Path::IsDev::NegativeHeuristic', $hn ); # spent 49µs making 33 calls to Path::IsDev::Role::HeuristicSet::_com_mn, avg 1µs/call |
46 | } | ||||
47 | |||||
48 | # spent 23.0ms (601µs+22.4) within Path::IsDev::Role::HeuristicSet::_load_module which was called 122 times, avg 188µs/call:
# 122 times (601µs+22.4ms) by Path::IsDev::Role::HeuristicSet::matches at line 66, avg 188µs/call | ||||
49 | 122 | 55µs | my ( undef, $module ) = @_; | ||
50 | 122 | 266µs | 122 | 174µs | return _use_module($module); # spent 174µs making 122 calls to Path::IsDev::Role::HeuristicSet::_use_module, avg 1µs/call |
51 | } | ||||
52 | |||||
- - | |||||
63 | # spent 93.8ms (1.15+92.6) within Path::IsDev::Role::HeuristicSet::matches which was called 11 times, avg 8.53ms/call:
# 11 times (1.15ms+92.6ms) by Path::IsDev::Object::__ANON__[/Users/timbo/perl5/perlbrew/perls/perl-5.18.2/lib/site_perl/5.18.2/Path/IsDev/Object.pm:201] at line 200 of Path/IsDev/Object.pm, avg 8.53ms/call | ||||
64 | 11 | 3µs | my ( $self, $result_object ) = @_; | ||
65 | 11 | 49µs | 11 | 6.01ms | TESTS: for my $module ( $self->modules ) { # spent 6.01ms making 11 calls to Path::IsDev::Role::HeuristicSet::Simple::modules, avg 547µs/call |
66 | 122 | 171µs | 122 | 23.0ms | $self->_load_module($module); # spent 23.0ms making 122 calls to Path::IsDev::Role::HeuristicSet::_load_module, avg 188µs/call |
67 | 122 | 652µs | 122 | 211µs | if ( $module->can('excludes') ) { # spent 211µs making 122 calls to UNIVERSAL::can, avg 2µs/call |
68 | 32 | 45µs | 32 | 34.3ms | if ( $module->excludes($result_object) ) { # spent 22.9ms making 11 calls to Path::IsDev::NegativeHeuristic::HomeDir::excludes, avg 2.08ms/call
# spent 10.1ms making 10 calls to Path::IsDev::NegativeHeuristic::PerlINC::excludes, avg 1.01ms/call
# spent 1.31ms making 11 calls to Path::IsDev::NegativeHeuristic::IsDev::IgnoreFile::excludes, avg 120µs/call |
69 | 2 | 12µs | 8 | 29µs | _debug( $module->name . q[ excludes path ] . $result_object->path ); # spent 19µs making 2 calls to Path::IsDev::Role::NegativeHeuristic::name, avg 9µs/call
# spent 4µs making 2 calls to Path::IsDev::Role::HeuristicSet::_debug, avg 2µs/call
# spent 3µs making 2 calls to Path::IsDev::Result::path, avg 1µs/call
# spent 3µs making 2 calls to Path::Tiny::__ANON__[Path/Tiny.pm:31], avg 1µs/call |
70 | 2 | 4µs | return; | ||
71 | } | ||||
72 | 30 | 18µs | next TESTS; | ||
73 | } | ||||
74 | 90 | 147µs | 90 | 29.2ms | next unless $module->matches($result_object); # spent 16.5ms making 9 calls to Path::IsDev::Heuristic::Changelog::matches, avg 1.83ms/call
# spent 2.62ms making 9 calls to Path::IsDev::Heuristic::Makefile::matches, avg 291µs/call
# spent 1.83ms making 9 calls to Path::IsDev::Heuristic::TestDir::matches, avg 204µs/call
# spent 1.79ms making 9 calls to Path::IsDev::Heuristic::MYMETA::matches, avg 199µs/call
# spent 1.68ms making 9 calls to Path::IsDev::Heuristic::META::matches, avg 187µs/call
# spent 988µs making 9 calls to Path::IsDev::Heuristic::Tool::Dzil::matches, avg 110µs/call
# spent 968µs making 9 calls to Path::IsDev::Heuristic::VCS::Git::matches, avg 108µs/call
# spent 962µs making 9 calls to Path::IsDev::Heuristic::DevDirMarker::matches, avg 107µs/call
# spent 922µs making 9 calls to Path::IsDev::Heuristic::Tool::ModuleBuild::matches, avg 102µs/call
# spent 907µs making 9 calls to Path::IsDev::Heuristic::Tool::MakeMaker::matches, avg 101µs/call |
75 | my $name = $module->name; | ||||
76 | _debug( $name . q[ matched path ] . $result_object->path ); | ||||
77 | return 1; | ||||
78 | } | ||||
79 | 9 | 19µs | return; | ||
80 | } | ||||
81 | |||||
82 | 1 | 3µs | 1; | ||
83 | |||||
84 | __END__ |