← Index
NYTProf Performance Profile   « line view »
For /Users/timbo/perl5/perlbrew/perls/perl-5.18.2/bin/perlcritic
  Run on Sat Mar 19 22:12:22 2016
Reported on Sat Mar 19 22:14:12 2016

Filename/Users/timbo/perl5/perlbrew/perls/perl-5.18.2/lib/site_perl/5.18.2/Path/IsDev/Role/HeuristicSet.pm
StatementsExecuted 1509 statements in 3.04ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11111.15ms93.8msPath::IsDev::Role::HeuristicSet::::matchesPath::IsDev::Role::HeuristicSet::matches
12211601µs23.0msPath::IsDev::Role::HeuristicSet::::_load_modulePath::IsDev::Role::HeuristicSet::_load_module
11011516µs4.11msPath::IsDev::Role::HeuristicSet::::_expand_heuristicPath::IsDev::Role::HeuristicSet::_expand_heuristic
14321184µs184µsPath::IsDev::Role::HeuristicSet::::_com_mnPath::IsDev::Role::HeuristicSet::_com_mn
12211174µs174µsPath::IsDev::Role::HeuristicSet::::_use_modulePath::IsDev::Role::HeuristicSet::_use_module
3311169µs1.36msPath::IsDev::Role::HeuristicSet::::_expand_negative_heuristicPath::IsDev::Role::HeuristicSet::_expand_negative_heuristic
11115µs15µsRole::Tiny::::BEGIN@1.17 Role::Tiny::BEGIN@1.17
11110µs22µsRole::Tiny::::BEGIN@2.18 Role::Tiny::BEGIN@2.18
1117µs84µsPath::IsDev::Role::HeuristicSet::::BEGIN@28Path::IsDev::Role::HeuristicSet::BEGIN@28
1117µs10µsRole::Tiny::::BEGIN@3.19 Role::Tiny::BEGIN@3.19
1116µs8µsRole::Tiny::::BEGIN@4.20 Role::Tiny::BEGIN@4.20
2114µs4µsPath::IsDev::Role::HeuristicSet::::_debugPath::IsDev::Role::HeuristicSet::_debug
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1239µs115µ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
use 5.008; # utf8;
# spent 15µs making 1 call to Role::Tiny::BEGIN@1.17
2219µs233µ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
use strict;
# spent 22µs making 1 call to Role::Tiny::BEGIN@2.18 # spent 11µs making 1 call to strict::import
3217µs214µ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
use warnings;
# spent 10µs making 1 call to Role::Tiny::BEGIN@3.19 # spent 4µs making 1 call to warnings::import
42115µs29µ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
use utf8;
# spent 8µs making 1 call to Role::Tiny::BEGIN@4.20 # spent 1µs making 1 call to utf8::import
5
6package Path::IsDev::Role::HeuristicSet;
71600ns$Path::IsDev::Role::HeuristicSet::VERSION = '1.001000';
8# ABSTRACT: Role for sets of Heuristics.
9
101200nsour $AUTHORITY = 'cpan:KENTNL'; # AUTHORITY
11
- -
23244378µs12222.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
sub _use_module { require Module::Runtime; goto &Module::Runtime::use_module }
# spent 22.2ms making 122 calls to Module::Runtime::use_module, avg 182µs/call
24286440µs1434.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
sub _com_mn { require Module::Runtime; goto &Module::Runtime::compose_module_name; }
# spent 4.60ms making 143 calls to Module::Runtime::compose_module_name, avg 32µs/call
25## no critic (Subroutines::ProhibitCallsToUnexportedSubs)
2649µs28µ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
sub _debug { require Path::IsDev; goto &Path::IsDev::debug }
# spent 8µs making 2 calls to Path::IsDev::Object::__ANON__[Path/IsDev/Object.pm:156], avg 4µs/call
27
282212µs2162µ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
use Role::Tiny qw( requires );
# spent 84µs making 1 call to Path::IsDev::Role::HeuristicSet::BEGIN@28 # spent 77µs making 1 call to Role::Tiny::import
29
- -
3612µs14µsrequires '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
sub _expand_heuristic {
3911036µs my ( undef, $hn ) = @_;
40110227µs110135µ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
sub _expand_negative_heuristic {
443312µs my ( undef, $hn ) = @_;
453385µs3349µ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
sub _load_module {
4912255µs my ( undef, $module ) = @_;
50122266µs122174µ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
sub matches {
64113µs my ( $self, $result_object ) = @_;
651149µs116.01msTESTS: for my $module ( $self->modules ) {
# spent 6.01ms making 11 calls to Path::IsDev::Role::HeuristicSet::Simple::modules, avg 547µs/call
66122171µs12223.0ms $self->_load_module($module);
# spent 23.0ms making 122 calls to Path::IsDev::Role::HeuristicSet::_load_module, avg 188µs/call
67122652µs122211µs if ( $module->can('excludes') ) {
# spent 211µs making 122 calls to UNIVERSAL::can, avg 2µs/call
683245µs3234.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
69212µs829µ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
7024µs return;
71 }
723018µs next TESTS;
73 }
7490147µs9029.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 }
79919µs return;
80}
81
8213µs1;
83
84__END__