← Index
NYTProf Performance Profile   « line view »
For ../prof.pl
  Run on Wed Dec 14 15:33:55 2022
Reported on Wed Dec 14 15:40:02 2022

Filename/Users/ether/perl5/perlbrew/perls/36.0/lib/5.36.0/if.pm
StatementsExecuted 813 statements in 2.15ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
74214.05ms6.38msif::::workif::work
54541877µs77µsif::::unimportif::unimport
20201958µs58µsif::::importif::import
731135µs35µsif::::CORE:substif::CORE:subst (opcode)
11127µs30µsif::::BEGIN@2if::BEGIN@2
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package if;
22198µs233µs
# spent 30µs (27+3) within if::BEGIN@2 which was called: # once (27µs+3µs) by OpenAPI::Modern::BEGIN@14 at line 2
use strict;
# spent 30µs making 1 call to if::BEGIN@2 # spent 3µs making 1 call to strict::import
311µsour $VERSION = '0.0610';
4
5
# spent 6.38ms (4.05+2.33) within if::work which was called 74 times, avg 86µs/call: # 54 times (258µs+61µ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 6µs/call # 20 times (3.80ms+2.27ms) 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 303µs/call
sub work {
67432µs my $method = shift() ? 'import' : 'unimport';
77419µ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 }
117415µs return unless shift; # CONDITION
12
137311µs my $p = $_[0]; # PACKAGE
1473148µs7335µs (my $file = "$p.pm") =~ s!::!/!g;
# spent 35µs making 73 calls to if::CORE:subst, avg 479ns/call
1573869µs require $file; # Works even if $_[0] is a keyword (like open)
1673198µs7371µs my $m = $p->can($method);
# spent 71µs making 73 calls to UNIVERSAL::can, avg 973ns/call
1773275µs732.45ms goto &$m if $m;
# spent 1.80ms making 1 call to POSIX::import # spent 370µs making 54 calls to feature::unimport, avg 7µs/call # spent 277µs making 18 calls to experimental::import, avg 15µs/call
18}
19
2060157µs206.06ms
# spent 58µs within if::import which was called 20 times, avg 3µs/call: # once (6µs+0s) by Pod::Simple::BlackBox::BEGIN@289 at line 289 of Pod/Simple/BlackBox.pm # once (4µs+0s) by JSON::Schema::Modern::Vocabulary::OpenAPI::BEGIN@13 at line 13 of JSON/Schema/Modern/Vocabulary/OpenAPI.pm # once (4µs+0s) by OpenAPI::Modern::BEGIN@14 at line 14 of OpenAPI/Modern.pm # once (4µs+0s) by JSON::Schema::Modern::BEGIN@14 at line 14 of JSON/Schema/Modern.pm # once (3µs+0s) by JSON::Schema::Modern::Error::BEGIN@13 at line 13 of JSON/Schema/Modern/Error.pm # once (3µs+0s) by JSON::Schema::Modern::Vocabulary::Core::BEGIN@13 at line 13 of JSON/Schema/Modern/Vocabulary/Core.pm # once (3µs+0s) by JSON::Schema::Modern::Vocabulary::Unevaluated::BEGIN@13 at line 13 of JSON/Schema/Modern/Vocabulary/Unevaluated.pm # once (3µs+0s) by JSON::Schema::Modern::Vocabulary::Content::BEGIN@13 at line 13 of JSON/Schema/Modern/Vocabulary/Content.pm # once (3µs+0s) by JSON::Schema::Modern::Vocabulary::FormatAssertion::BEGIN@13 at line 13 of JSON/Schema/Modern/Vocabulary/FormatAssertion.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::Result::BEGIN@13 at line 13 of JSON/Schema/Modern/Result.pm # once (3µs+0s) by JSON::Schema::Modern::Vocabulary::Validation::BEGIN@13 at line 13 of JSON/Schema/Modern/Vocabulary/Validation.pm # once (3µs+0s) by JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@13 at line 13 of JSON/Schema/Modern/Vocabulary/MetaData.pm # once (3µs+0s) by JSON::Schema::Modern::Document::BEGIN@13 at line 13 of JSON/Schema/Modern/Document.pm # once (3µs+0s) by JSON::Schema::Modern::Utilities::BEGIN@12 at line 12 of JSON/Schema/Modern/Utilities.pm # once (3µs+0s) by JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@13 at line 13 of JSON/Schema/Modern/Vocabulary/FormatAnnotation.pm # once (1µs+0s) by JSON::Schema::Modern::Vocabulary::BEGIN@13 at line 13 of JSON/Schema/Modern/Vocabulary.pm # once (1µs+0s) by JSON::Schema::Modern::Annotation::BEGIN@13 at line 13 of JSON/Schema/Modern/Annotation.pm # once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@13 at line 13 of JSON/Schema/Modern/Vocabulary/Applicator.pm # once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Validation::BEGIN@19 at line 19 of JSON/Schema/Modern/Vocabulary/Validation.pm
sub import { shift; unshift @_, 1; goto &work }
# spent 6.06ms making 20 calls to if::work, avg 303µs/call
21162224µs54319µs
# spent 77µs within if::unimport which was called 54 times, avg 1µs/call: # once (4µs+0s) by JSON::Schema::Modern::Result::BEGIN@16 at line 16 of JSON/Schema/Modern/Result.pm # once (3µs+0s) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@15 at line 15 of JSON/Schema/Modern/Document/OpenAPI.pm # once (3µs+0s) by JSON::Schema::Modern::Annotation::BEGIN@14 at line 14 of JSON/Schema/Modern/Annotation.pm # once (3µs+0s) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary/Applicator.pm # once (2µs+0s) by JSON::Schema::Modern::Document::BEGIN@16 at line 16 of JSON/Schema/Modern/Document.pm # once (2µs+0s) by JSON::Schema::Modern::Document::BEGIN@15 at line 15 of JSON/Schema/Modern/Document.pm # once (2µs+0s) by JSON::Schema::Modern::Document::BEGIN@14 at line 14 of JSON/Schema/Modern/Document.pm # once (2µs+0s) by JSON::Schema::Modern::BEGIN@15 at line 15 of JSON/Schema/Modern.pm # once (2µs+0s) by JSON::Schema::Modern::BEGIN@16 at line 16 of JSON/Schema/Modern.pm # once (2µs+0s) by JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary/FormatAnnotation.pm # once (2µs+0s) by JSON::Schema::Modern::Utilities::BEGIN@13 at line 13 of JSON/Schema/Modern/Utilities.pm # once (2µs+0s) by JSON::Schema::Modern::Utilities::BEGIN@15 at line 15 of JSON/Schema/Modern/Utilities.pm # once (2µs+0s) by JSON::Schema::Modern::Vocabulary::Core::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary/Core.pm # once (2µs+0s) by JSON::Schema::Modern::Vocabulary::Core::BEGIN@15 at line 15 of JSON/Schema/Modern/Vocabulary/Core.pm # once (2µs+0s) by JSON::Schema::Modern::Error::BEGIN@16 at line 16 of JSON/Schema/Modern/Error.pm # once (2µs+0s) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@16 at line 16 of JSON/Schema/Modern/Document/OpenAPI.pm # once (2µs+0s) by JSON::Schema::Modern::Vocabulary::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary.pm # once (2µs+0s) by JSON::Schema::Modern::Vocabulary::Content::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary/Content.pm # once (2µs+0s) by JSON::Schema::Modern::Vocabulary::Content::BEGIN@15 at line 15 of JSON/Schema/Modern/Vocabulary/Content.pm # once (2µs+0s) by JSON::Schema::Modern::Vocabulary::FormatAssertion::BEGIN@16 at line 16 of JSON/Schema/Modern/Vocabulary/FormatAssertion.pm # once (2µs+0s) by JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@15 at line 15 of JSON/Schema/Modern/Vocabulary/MetaData.pm # once (2µs+0s) by JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary/MetaData.pm # once (2µs+0s) by JSON::Schema::Modern::Vocabulary::Validation::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary/Validation.pm # once (2µs+0s) by JSON::Schema::Modern::Result::BEGIN@14 at line 14 of JSON/Schema/Modern/Result.pm # once (2µs+0s) by OpenAPI::Modern::BEGIN@17 at line 17 of OpenAPI/Modern.pm # once (2µs+0s) by OpenAPI::Modern::BEGIN@16 at line 16 of OpenAPI/Modern.pm # once (2µs+0s) by OpenAPI::Modern::BEGIN@15 at line 15 of OpenAPI/Modern.pm # once (1µs+0s) by JSON::Schema::Modern::BEGIN@17 at line 17 of JSON/Schema/Modern.pm # once (1µs+0s) by JSON::Schema::Modern::Utilities::BEGIN@14 at line 14 of JSON/Schema/Modern/Utilities.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::Core::BEGIN@16 at line 16 of JSON/Schema/Modern/Vocabulary/Core.pm # once (1µs+0s) by JSON::Schema::Modern::Error::BEGIN@14 at line 14 of JSON/Schema/Modern/Error.pm # once (1µs+0s) by JSON::Schema::Modern::Error::BEGIN@15 at line 15 of JSON/Schema/Modern/Error.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::Vocabulary::BEGIN@15 at line 15 of JSON/Schema/Modern/Vocabulary.pm # once (1µs+0s) by JSON::Schema::Modern::Annotation::BEGIN@15 at line 15 of JSON/Schema/Modern/Annotation.pm # once (1µs+0s) by JSON::Schema::Modern::Annotation::BEGIN@16 at line 16 of JSON/Schema/Modern/Annotation.pm # once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Content::BEGIN@16 at line 16 of JSON/Schema/Modern/Vocabulary/Content.pm # once (1µs+0s) by JSON::Schema::Modern::Vocabulary::FormatAssertion::BEGIN@15 at line 15 of JSON/Schema/Modern/Vocabulary/FormatAssertion.pm # once (1µs+0s) by JSON::Schema::Modern::Vocabulary::FormatAssertion::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary/FormatAssertion.pm # once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Validation::BEGIN@15 at line 15 of JSON/Schema/Modern/Vocabulary/Validation.pm # once (1µs+0s) by JSON::Schema::Modern::Result::BEGIN@15 at line 15 of JSON/Schema/Modern/Result.pm # once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@16 at line 16 of JSON/Schema/Modern/Vocabulary/Applicator.pm # once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@15 at line 15 of JSON/Schema/Modern/Vocabulary/Applicator.pm # once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Unevaluated::BEGIN@16 at line 16 of JSON/Schema/Modern/Vocabulary/Unevaluated.pm # once (0s+0s) by JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@16 at line 16 of JSON/Schema/Modern/Vocabulary/FormatAnnotation.pm # once (0s+0s) by JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@15 at line 15 of JSON/Schema/Modern/Vocabulary/FormatAnnotation.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::BEGIN@16 at line 16 of JSON/Schema/Modern/Vocabulary.pm # once (0s+0s) by JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@16 at line 16 of JSON/Schema/Modern/Vocabulary/MetaData.pm # once (0s+0s) by JSON::Schema::Modern::Vocabulary::Validation::BEGIN@16 at line 16 of JSON/Schema/Modern/Vocabulary/Validation.pm # once (0s+0s) by JSON::Schema::Modern::Vocabulary::Unevaluated::BEGIN@15 at line 15 of JSON/Schema/Modern/Vocabulary/Unevaluated.pm # once (0s+0s) by JSON::Schema::Modern::Vocabulary::Unevaluated::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary/Unevaluated.pm
sub unimport { shift; unshift @_, 0; goto &work }
# spent 319µs making 54 calls to if::work, avg 6µs/call
22
2313µs1;
24__END__
 
# spent 35µs within if::CORE:subst which was called 73 times, avg 479ns/call: # 73 times (35µs+0s) by if::work at line 14, avg 479ns/call
sub if::CORE:subst; # opcode