| 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 | Path::IsDev::Role::HeuristicSet::matches |
| 122 | 1 | 1 | 601µs | 23.0ms | Path::IsDev::Role::HeuristicSet::_load_module |
| 110 | 1 | 1 | 516µs | 4.11ms | Path::IsDev::Role::HeuristicSet::_expand_heuristic |
| 143 | 2 | 1 | 184µs | 184µs | Path::IsDev::Role::HeuristicSet::_com_mn |
| 122 | 1 | 1 | 174µs | 174µs | Path::IsDev::Role::HeuristicSet::_use_module |
| 33 | 1 | 1 | 169µs | 1.36ms | Path::IsDev::Role::HeuristicSet::_expand_negative_heuristic |
| 1 | 1 | 1 | 15µs | 15µs | Role::Tiny::BEGIN@1.17 |
| 1 | 1 | 1 | 10µs | 22µs | Role::Tiny::BEGIN@2.18 |
| 1 | 1 | 1 | 7µs | 84µs | Path::IsDev::Role::HeuristicSet::BEGIN@28 |
| 1 | 1 | 1 | 7µs | 10µs | Role::Tiny::BEGIN@3.19 |
| 1 | 1 | 1 | 6µs | 8µs | Role::Tiny::BEGIN@4.20 |
| 2 | 1 | 1 | 4µs | 4µs | Path::IsDev::Role::HeuristicSet::_debug |
| 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__ |