Filename | /Users/ether/perl5/perlbrew/perls/36.0/lib/5.36.0/if.pm |
Statements | Executed 813 statements in 1.84ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
74 | 2 | 1 | 3.77ms | 7.95ms | work | if::
20 | 20 | 19 | 63µs | 63µs | import | if::
54 | 54 | 18 | 56µs | 56µs | unimport | if::
73 | 1 | 1 | 31µs | 31µs | CORE:subst (opcode) | if::
1 | 1 | 1 | 21µs | 24µs | BEGIN@2 | if::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package if; | ||||
2 | 2 | 170µs | 2 | 27µs | # spent 24µs (21+3) within if::BEGIN@2 which was called:
# once (21µs+3µs) by OpenAPI::Modern::BEGIN@14 at line 2 # spent 24µs making 1 call to if::BEGIN@2
# spent 3µs making 1 call to strict::import |
3 | 1 | 0s | our $VERSION = '0.0610'; | ||
4 | |||||
5 | # spent 7.95ms (3.77+4.18) within if::work which was called 74 times, avg 107µs/call:
# 54 times (199µs+54µs) by JSON::Schema::Modern::Annotation::BEGIN@14 or JSON::Schema::Modern::Annotation::BEGIN@15 or JSON::Schema::Modern::Annotation::BEGIN@16 or JSON::Schema::Modern::BEGIN@15 or JSON::Schema::Modern::BEGIN@16 or JSON::Schema::Modern::BEGIN@17 or JSON::Schema::Modern::Document::BEGIN@14 or JSON::Schema::Modern::Document::BEGIN@15 or JSON::Schema::Modern::Document::BEGIN@16 or JSON::Schema::Modern::Document::OpenAPI::BEGIN@15 or JSON::Schema::Modern::Document::OpenAPI::BEGIN@16 or JSON::Schema::Modern::Document::OpenAPI::BEGIN@17 or JSON::Schema::Modern::Error::BEGIN@14 or JSON::Schema::Modern::Error::BEGIN@15 or JSON::Schema::Modern::Error::BEGIN@16 or JSON::Schema::Modern::Result::BEGIN@14 or JSON::Schema::Modern::Result::BEGIN@15 or JSON::Schema::Modern::Result::BEGIN@16 or JSON::Schema::Modern::Utilities::BEGIN@13 or JSON::Schema::Modern::Utilities::BEGIN@14 or JSON::Schema::Modern::Utilities::BEGIN@15 or JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@14 or JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@15 or JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@16 or JSON::Schema::Modern::Vocabulary::BEGIN@14 or JSON::Schema::Modern::Vocabulary::BEGIN@15 or JSON::Schema::Modern::Vocabulary::BEGIN@16 or JSON::Schema::Modern::Vocabulary::Content::BEGIN@14 or JSON::Schema::Modern::Vocabulary::Content::BEGIN@15 or JSON::Schema::Modern::Vocabulary::Content::BEGIN@16 or JSON::Schema::Modern::Vocabulary::Core::BEGIN@14 or JSON::Schema::Modern::Vocabulary::Core::BEGIN@15 or JSON::Schema::Modern::Vocabulary::Core::BEGIN@16 or JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@14 or JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@15 or JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@16 or JSON::Schema::Modern::Vocabulary::FormatAssertion::BEGIN@14 or JSON::Schema::Modern::Vocabulary::FormatAssertion::BEGIN@15 or JSON::Schema::Modern::Vocabulary::FormatAssertion::BEGIN@16 or JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@14 or JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@15 or JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@16 or JSON::Schema::Modern::Vocabulary::OpenAPI::BEGIN@14 or JSON::Schema::Modern::Vocabulary::OpenAPI::BEGIN@15 or JSON::Schema::Modern::Vocabulary::OpenAPI::BEGIN@16 or JSON::Schema::Modern::Vocabulary::Unevaluated::BEGIN@14 or JSON::Schema::Modern::Vocabulary::Unevaluated::BEGIN@15 or JSON::Schema::Modern::Vocabulary::Unevaluated::BEGIN@16 or JSON::Schema::Modern::Vocabulary::Validation::BEGIN@14 or JSON::Schema::Modern::Vocabulary::Validation::BEGIN@15 or JSON::Schema::Modern::Vocabulary::Validation::BEGIN@16 or OpenAPI::Modern::BEGIN@15 or OpenAPI::Modern::BEGIN@16 or OpenAPI::Modern::BEGIN@17 at line 21, avg 5µs/call
# 20 times (3.57ms+4.13ms) by JSON::Schema::Modern::Annotation::BEGIN@13 or JSON::Schema::Modern::BEGIN@14 or JSON::Schema::Modern::Document::BEGIN@13 or JSON::Schema::Modern::Document::OpenAPI::BEGIN@14 or JSON::Schema::Modern::Error::BEGIN@13 or JSON::Schema::Modern::Result::BEGIN@13 or JSON::Schema::Modern::Utilities::BEGIN@12 or JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@13 or JSON::Schema::Modern::Vocabulary::BEGIN@13 or JSON::Schema::Modern::Vocabulary::Content::BEGIN@13 or JSON::Schema::Modern::Vocabulary::Core::BEGIN@13 or JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@13 or JSON::Schema::Modern::Vocabulary::FormatAssertion::BEGIN@13 or JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@13 or JSON::Schema::Modern::Vocabulary::OpenAPI::BEGIN@13 or JSON::Schema::Modern::Vocabulary::Unevaluated::BEGIN@13 or JSON::Schema::Modern::Vocabulary::Validation::BEGIN@13 or JSON::Schema::Modern::Vocabulary::Validation::BEGIN@19 or OpenAPI::Modern::BEGIN@14 or Pod::Simple::BlackBox::BEGIN@289 at line 20, avg 385µs/call | ||||
6 | 74 | 23µs | my $method = shift() ? 'import' : 'unimport'; | ||
7 | 74 | 16µs | unless (@_ >= 2) { | ||
8 | my $type = ($method eq 'import') ? 'use' : 'no'; | ||||
9 | die "Too few arguments to '$type if' (some code returning an empty list in list context?)" | ||||
10 | } | ||||
11 | 74 | 17µs | return unless shift; # CONDITION | ||
12 | |||||
13 | 73 | 14µs | my $p = $_[0]; # PACKAGE | ||
14 | 73 | 117µs | 73 | 31µs | (my $file = "$p.pm") =~ s!::!/!g; # spent 31µs making 73 calls to if::CORE:subst, avg 425ns/call |
15 | 73 | 768µs | require $file; # Works even if $_[0] is a keyword (like open) | ||
16 | 73 | 172µs | 73 | 65µs | my $m = $p->can($method); # spent 65µs making 73 calls to UNIVERSAL::can, avg 890ns/call |
17 | 73 | 259µs | 73 | 1.61ms | goto &$m if $m; # spent 1.08ms making 1 call to POSIX::import
# spent 322µs making 54 calls to feature::unimport, avg 6µs/call
# spent 208µs making 18 calls to experimental::import, avg 12µs/call |
18 | } | ||||
19 | |||||
20 | 60 | 117µs | 20 | 7.69ms | # spent 63µs within if::import which was called 20 times, avg 3µs/call:
# once (8µs+0s) by JSON::Schema::Modern::BEGIN@14 at line 14 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern.pm
# once (4µs+0s) by JSON::Schema::Modern::Utilities::BEGIN@12 at line 12 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Utilities.pm
# once (3µs+0s) by JSON::Schema::Modern::Result::BEGIN@13 at line 13 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Result.pm
# once (3µs+0s) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@14 at line 14 of JSON/Schema/Modern/Document/OpenAPI.pm
# once (3µs+0s) by JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@13 at line 13 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/FormatAnnotation.pm
# once (3µs+0s) by JSON::Schema::Modern::Document::BEGIN@13 at line 13 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Document.pm
# once (3µs+0s) by JSON::Schema::Modern::Vocabulary::Unevaluated::BEGIN@13 at line 13 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Unevaluated.pm
# once (3µs+0s) by JSON::Schema::Modern::Error::BEGIN@13 at line 13 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Error.pm
# once (3µs+0s) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@13 at line 13 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm
# once (3µs+0s) by JSON::Schema::Modern::Vocabulary::Core::BEGIN@13 at line 13 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Core.pm
# once (3µs+0s) by Pod::Simple::BlackBox::BEGIN@289 at line 289 of Pod/Simple/BlackBox.pm
# once (3µs+0s) by JSON::Schema::Modern::Annotation::BEGIN@13 at line 13 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Annotation.pm
# once (3µs+0s) by JSON::Schema::Modern::Vocabulary::Validation::BEGIN@13 at line 13 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Validation.pm
# once (3µs+0s) by OpenAPI::Modern::BEGIN@14 at line 14 of OpenAPI/Modern.pm
# once (3µs+0s) by JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@13 at line 13 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/MetaData.pm
# once (3µs+0s) by JSON::Schema::Modern::Vocabulary::BEGIN@13 at line 13 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary.pm
# once (3µs+0s) by JSON::Schema::Modern::Vocabulary::OpenAPI::BEGIN@13 at line 13 of JSON/Schema/Modern/Vocabulary/OpenAPI.pm
# once (3µs+0s) by JSON::Schema::Modern::Vocabulary::FormatAssertion::BEGIN@13 at line 13 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/FormatAssertion.pm
# once (2µs+0s) by JSON::Schema::Modern::Vocabulary::Content::BEGIN@13 at line 13 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Content.pm
# once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Validation::BEGIN@19 at line 19 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Validation.pm # spent 7.69ms making 20 calls to if::work, avg 385µs/call |
21 | 162 | 166µs | 54 | 253µs | # spent 56µs within if::unimport which was called 54 times, avg 1µs/call:
# once (3µs+0s) by JSON::Schema::Modern::Vocabulary::Unevaluated::BEGIN@16 at line 16 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Unevaluated.pm
# once (2µs+0s) by JSON::Schema::Modern::Annotation::BEGIN@14 at line 14 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Annotation.pm
# once (2µs+0s) by JSON::Schema::Modern::Annotation::BEGIN@15 at line 15 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Annotation.pm
# once (2µs+0s) by JSON::Schema::Modern::Vocabulary::Validation::BEGIN@14 at line 14 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Validation.pm
# once (2µs+0s) by JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@14 at line 14 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/MetaData.pm
# once (2µs+0s) by JSON::Schema::Modern::Vocabulary::BEGIN@16 at line 16 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary.pm
# once (2µs+0s) by JSON::Schema::Modern::Vocabulary::BEGIN@14 at line 14 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary.pm
# once (2µs+0s) by JSON::Schema::Modern::Vocabulary::FormatAssertion::BEGIN@15 at line 15 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/FormatAssertion.pm
# once (2µs+0s) by JSON::Schema::Modern::Utilities::BEGIN@13 at line 13 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Utilities.pm
# once (2µs+0s) by JSON::Schema::Modern::Utilities::BEGIN@15 at line 15 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Utilities.pm
# once (2µs+0s) by JSON::Schema::Modern::Result::BEGIN@14 at line 14 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Result.pm
# once (2µs+0s) by JSON::Schema::Modern::Result::BEGIN@15 at line 15 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Result.pm
# once (2µs+0s) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@15 at line 15 of JSON/Schema/Modern/Document/OpenAPI.pm
# once (2µs+0s) by JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@14 at line 14 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/FormatAnnotation.pm
# once (2µs+0s) by JSON::Schema::Modern::BEGIN@16 at line 16 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern.pm
# once (2µs+0s) by JSON::Schema::Modern::BEGIN@17 at line 17 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern.pm
# once (2µs+0s) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@14 at line 14 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm
# once (2µs+0s) by JSON::Schema::Modern::Error::BEGIN@14 at line 14 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Error.pm
# once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Core::BEGIN@14 at line 14 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Core.pm
# once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Core::BEGIN@15 at line 15 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Core.pm
# once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Core::BEGIN@16 at line 16 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Core.pm
# once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Content::BEGIN@14 at line 14 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Content.pm
# once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Content::BEGIN@16 at line 16 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Content.pm
# once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Validation::BEGIN@15 at line 15 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Validation.pm
# once (1µs+0s) by JSON::Schema::Modern::Vocabulary::OpenAPI::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary/OpenAPI.pm
# once (1µs+0s) by JSON::Schema::Modern::Vocabulary::BEGIN@15 at line 15 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary.pm
# once (1µs+0s) by JSON::Schema::Modern::Vocabulary::FormatAssertion::BEGIN@16 at line 16 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/FormatAssertion.pm
# once (1µs+0s) by JSON::Schema::Modern::Utilities::BEGIN@14 at line 14 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Utilities.pm
# once (1µs+0s) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@17 at line 17 of JSON/Schema/Modern/Document/OpenAPI.pm
# once (1µs+0s) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@16 at line 16 of JSON/Schema/Modern/Document/OpenAPI.pm
# once (1µs+0s) by JSON::Schema::Modern::BEGIN@15 at line 15 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern.pm
# once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Unevaluated::BEGIN@14 at line 14 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Unevaluated.pm
# once (1µs+0s) by JSON::Schema::Modern::Document::BEGIN@16 at line 16 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Document.pm
# once (1µs+0s) by JSON::Schema::Modern::Document::BEGIN@14 at line 14 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Document.pm
# once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@15 at line 15 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm
# once (1µs+0s) by JSON::Schema::Modern::Error::BEGIN@15 at line 15 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Error.pm
# once (1µs+0s) by JSON::Schema::Modern::Error::BEGIN@16 at line 16 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Error.pm
# once (0s+0s) by JSON::Schema::Modern::Vocabulary::Content::BEGIN@15 at line 15 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Content.pm
# once (0s+0s) by JSON::Schema::Modern::Annotation::BEGIN@16 at line 16 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Annotation.pm
# once (0s+0s) by JSON::Schema::Modern::Vocabulary::Validation::BEGIN@16 at line 16 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Validation.pm
# once (0s+0s) by OpenAPI::Modern::BEGIN@15 at line 15 of OpenAPI/Modern.pm
# once (0s+0s) by OpenAPI::Modern::BEGIN@16 at line 16 of OpenAPI/Modern.pm
# once (0s+0s) by OpenAPI::Modern::BEGIN@17 at line 17 of OpenAPI/Modern.pm
# once (0s+0s) by JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@15 at line 15 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/MetaData.pm
# once (0s+0s) by JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@16 at line 16 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/MetaData.pm
# once (0s+0s) by JSON::Schema::Modern::Vocabulary::OpenAPI::BEGIN@15 at line 15 of JSON/Schema/Modern/Vocabulary/OpenAPI.pm
# once (0s+0s) by JSON::Schema::Modern::Vocabulary::OpenAPI::BEGIN@16 at line 16 of JSON/Schema/Modern/Vocabulary/OpenAPI.pm
# once (0s+0s) by JSON::Schema::Modern::Vocabulary::FormatAssertion::BEGIN@14 at line 14 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/FormatAssertion.pm
# once (0s+0s) by JSON::Schema::Modern::Result::BEGIN@16 at line 16 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Result.pm
# once (0s+0s) by JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@15 at line 15 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/FormatAnnotation.pm
# once (0s+0s) by JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@16 at line 16 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/FormatAnnotation.pm
# once (0s+0s) by JSON::Schema::Modern::Vocabulary::Unevaluated::BEGIN@15 at line 15 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Unevaluated.pm
# once (0s+0s) by JSON::Schema::Modern::Document::BEGIN@15 at line 15 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Document.pm
# once (0s+0s) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@16 at line 16 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm # spent 253µs making 54 calls to if::work, avg 5µs/call |
22 | |||||
23 | 1 | 3µs | 1; | ||
24 | __END__ | ||||
# spent 31µs within if::CORE:subst which was called 73 times, avg 425ns/call:
# 73 times (31µs+0s) by if::work at line 14, avg 425ns/call |