← Index
NYTProf Performance Profile   « line view »
For ../prof.pl
  Run on Thu Dec 15 15:23:56 2022
Reported on Thu Dec 15 15:27:01 2022

Filename/Users/ether/perl5/perlbrew/perls/36.0/lib/5.36.0/if.pm
StatementsExecuted 813 statements in 1.84ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
74213.77ms7.95msif::::workif::work
20201963µs63µsif::::importif::import
54541856µs56µsif::::unimportif::unimport
731131µs31µsif::::CORE:substif::CORE:subst (opcode)
11121µs24µ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;
22170µs227µ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
use strict;
# spent 24µs making 1 call to if::BEGIN@2 # spent 3µs making 1 call to strict::import
310sour $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
sub work {
67423µs my $method = shift() ? 'import' : 'unimport';
77416µ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 }
117417µs return unless shift; # CONDITION
12
137314µs my $p = $_[0]; # PACKAGE
1473117µs7331µs (my $file = "$p.pm") =~ s!::!/!g;
# spent 31µs making 73 calls to if::CORE:subst, avg 425ns/call
1573768µs require $file; # Works even if $_[0] is a keyword (like open)
1673172µs7365µs my $m = $p->can($method);
# spent 65µs making 73 calls to UNIVERSAL::can, avg 890ns/call
1773259µs731.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
2060117µs207.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
sub import { shift; unshift @_, 1; goto &work }
# spent 7.69ms making 20 calls to if::work, avg 385µs/call
21162166µs54253µ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
sub unimport { shift; unshift @_, 0; goto &work }
# spent 253µs making 54 calls to if::work, avg 5µs/call
22
2313µs1;
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
sub if::CORE:subst; # opcode