← Index
NYTProf Performance Profile   « line view »
For ../prof.pl
  Run on Wed Dec 14 15:57:08 2022
Reported on Wed Dec 14 16:00:30 2022

Filename/Users/ether/perl5/perlbrew/perls/36.0/lib/5.36.0/if.pm
StatementsExecuted 813 statements in 1.72ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
74213.77ms5.60msif::::workif::work
54541884µs84µsif::::unimportif::unimport
20201965µs65µsif::::importif::import
731150µs50µsif::::CORE:substif::CORE:subst (opcode)
11115µs17µ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;
22147µs219µs
# spent 17µs (15+2) within if::BEGIN@2 which was called: # once (15µs+2µs) by OpenAPI::Modern::BEGIN@14 at line 2
use strict;
# spent 17µs making 1 call to if::BEGIN@2 # spent 2µs making 1 call to strict::import
310sour $VERSION = '0.0610';
4
5
# spent 5.60ms (3.77+1.83) within if::work which was called 74 times, avg 76µs/call: # 54 times (347µs+72µ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 8µs/call # 20 times (3.43ms+1.75ms) 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 259µs/call
sub work {
67428µs my $method = shift() ? 'import' : 'unimport';
77423µ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
137319µs my $p = $_[0]; # PACKAGE
1473279µs7350µs (my $file = "$p.pm") =~ s!::!/!g;
# spent 50µs making 73 calls to if::CORE:subst, avg 685ns/call
1573241µs require $file; # Works even if $_[0] is a keyword (like open)
1673227µs7376µs my $m = $p->can($method);
# spent 76µs making 73 calls to UNIVERSAL::can, avg 1µs/call
1773276µs732.51ms goto &$m if $m;
# spent 1.82ms making 1 call to POSIX::import # spent 410µs making 54 calls to feature::unimport, avg 8µs/call # spent 280µs making 18 calls to experimental::import, avg 16µs/call
18}
19
2060197µs205.18ms
# spent 65µs within if::import which was called 20 times, avg 3µs/call: # once (5µs+0s) by JSON::Schema::Modern::Vocabulary::FormatAssertion::BEGIN@13 at line 13 of JSON/Schema/Modern/Vocabulary/FormatAssertion.pm # once (5µs+0s) by JSON::Schema::Modern::Annotation::BEGIN@13 at line 13 of JSON/Schema/Modern/Annotation.pm # once (5µs+0s) by JSON::Schema::Modern::Vocabulary::Validation::BEGIN@13 at line 13 of JSON/Schema/Modern/Vocabulary/Validation.pm # once (5µs+0s) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@13 at line 13 of JSON/Schema/Modern/Vocabulary/Applicator.pm # once (4µs+0s) by JSON::Schema::Modern::Vocabulary::BEGIN@13 at line 13 of JSON/Schema/Modern/Vocabulary.pm # once (4µs+0s) by JSON::Schema::Modern::Utilities::BEGIN@12 at line 12 of JSON/Schema/Modern/Utilities.pm # once (4µ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::Document::BEGIN@13 at line 13 of JSON/Schema/Modern/Document.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::MetaData::BEGIN@13 at line 13 of JSON/Schema/Modern/Vocabulary/MetaData.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::FormatAnnotation::BEGIN@13 at line 13 of JSON/Schema/Modern/Vocabulary/FormatAnnotation.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 Pod::Simple::BlackBox::BEGIN@289 at line 289 of Pod/Simple/BlackBox.pm # once (3µs+0s) by JSON::Schema::Modern::BEGIN@14 at line 14 of JSON/Schema/Modern.pm # once (2µs+0s) by OpenAPI::Modern::BEGIN@14 at line 14 of OpenAPI/Modern.pm # once (2µs+0s) by JSON::Schema::Modern::Vocabulary::Validation::BEGIN@19 at line 19 of JSON/Schema/Modern/Vocabulary/Validation.pm # once (2µs+0s) by JSON::Schema::Modern::Result::BEGIN@13 at line 13 of JSON/Schema/Modern/Result.pm # once (2µs+0s) by JSON::Schema::Modern::Error::BEGIN@13 at line 13 of JSON/Schema/Modern/Error.pm # once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Unevaluated::BEGIN@13 at line 13 of JSON/Schema/Modern/Vocabulary/Unevaluated.pm
sub import { shift; unshift @_, 1; goto &work }
# spent 5.18ms making 20 calls to if::work, avg 259µs/call
21162263µs54419µs
# spent 84µs within if::unimport which was called 54 times, avg 2µs/call: # once (7µs+0s) by JSON::Schema::Modern::BEGIN@15 at line 15 of JSON/Schema/Modern.pm # once (4µs+0s) by JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@15 at line 15 of JSON/Schema/Modern/Vocabulary/FormatAnnotation.pm # once (4µs+0s) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary/Applicator.pm # once (3µs+0s) by JSON::Schema::Modern::Vocabulary::Validation::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary/Validation.pm # once (3µs+0s) by JSON::Schema::Modern::Vocabulary::Content::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary/Content.pm # once (3µs+0s) by JSON::Schema::Modern::Document::OpenAPI::BEGIN@17 at line 17 of JSON/Schema/Modern/Document/OpenAPI.pm # once (3µs+0s) by JSON::Schema::Modern::Vocabulary::OpenAPI::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary/OpenAPI.pm # once (3µs+0s) by JSON::Schema::Modern::Annotation::BEGIN@15 at line 15 of JSON/Schema/Modern/Annotation.pm # once (3µs+0s) by JSON::Schema::Modern::Utilities::BEGIN@14 at line 14 of JSON/Schema/Modern/Utilities.pm # once (2µs+0s) by JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@16 at line 16 of JSON/Schema/Modern/Vocabulary/FormatAnnotation.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::BEGIN@17 at line 17 of JSON/Schema/Modern.pm # once (2µs+0s) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@16 at line 16 of JSON/Schema/Modern/Vocabulary/Applicator.pm # once (2µs+0s) by JSON::Schema::Modern::Vocabulary::Applicator::BEGIN@15 at line 15 of JSON/Schema/Modern/Vocabulary/Applicator.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::Vocabulary::BEGIN@16 at line 16 of JSON/Schema/Modern/Vocabulary.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::Vocabulary::FormatAssertion::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary/FormatAssertion.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@14 at line 14 of JSON/Schema/Modern/Vocabulary/MetaData.pm # once (2µs+0s) by OpenAPI::Modern::BEGIN@15 at line 15 of OpenAPI/Modern.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::Utilities::BEGIN@13 at line 13 of JSON/Schema/Modern/Utilities.pm # once (2µs+0s) by JSON::Schema::Modern::Vocabulary::Unevaluated::BEGIN@16 at line 16 of JSON/Schema/Modern/Vocabulary/Unevaluated.pm # once (2µs+0s) by JSON::Schema::Modern::Vocabulary::Unevaluated::BEGIN@15 at line 15 of JSON/Schema/Modern/Vocabulary/Unevaluated.pm # once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Validation::BEGIN@16 at line 16 of JSON/Schema/Modern/Vocabulary/Validation.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::Vocabulary::Content::BEGIN@16 at line 16 of JSON/Schema/Modern/Vocabulary/Content.pm # once (1µs+0s) by JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary/FormatAnnotation.pm # once (1µs+0s) by JSON::Schema::Modern::Result::BEGIN@16 at line 16 of JSON/Schema/Modern/Result.pm # once (1µs+0s) by JSON::Schema::Modern::Result::BEGIN@14 at line 14 of JSON/Schema/Modern/Result.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::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::BEGIN@14 at line 14 of JSON/Schema/Modern/Document.pm # once (1µs+0s) by JSON::Schema::Modern::Document::BEGIN@16 at line 16 of JSON/Schema/Modern/Document.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::Vocabulary::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary.pm # once (1µs+0s) by JSON::Schema::Modern::Vocabulary::OpenAPI::BEGIN@16 at line 16 of JSON/Schema/Modern/Vocabulary/OpenAPI.pm # once (1µs+0s) by JSON::Schema::Modern::Annotation::BEGIN@14 at line 14 of JSON/Schema/Modern/Annotation.pm # once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Core::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary/Core.pm # once (1µs+0s) by JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@15 at line 15 of JSON/Schema/Modern/Vocabulary/MetaData.pm # once (1µs+0s) by OpenAPI::Modern::BEGIN@17 at line 17 of OpenAPI/Modern.pm # once (1µs+0s) by JSON::Schema::Modern::Vocabulary::Unevaluated::BEGIN@14 at line 14 of JSON/Schema/Modern/Vocabulary/Unevaluated.pm # once (0s+0s) by JSON::Schema::Modern::Vocabulary::Content::BEGIN@15 at line 15 of JSON/Schema/Modern/Vocabulary/Content.pm # once (0s+0s) by JSON::Schema::Modern::Result::BEGIN@15 at line 15 of JSON/Schema/Modern/Result.pm # once (0s+0s) by JSON::Schema::Modern::Error::BEGIN@16 at line 16 of JSON/Schema/Modern/Error.pm # once (0s+0s) by JSON::Schema::Modern::BEGIN@16 at line 16 of JSON/Schema/Modern.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::Annotation::BEGIN@16 at line 16 of JSON/Schema/Modern/Annotation.pm # once (0s+0s) by JSON::Schema::Modern::Vocabulary::Core::BEGIN@16 at line 16 of JSON/Schema/Modern/Vocabulary/Core.pm # once (0s+0s) by JSON::Schema::Modern::Vocabulary::FormatAssertion::BEGIN@15 at line 15 of JSON/Schema/Modern/Vocabulary/FormatAssertion.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 OpenAPI::Modern::BEGIN@16 at line 16 of OpenAPI/Modern.pm
sub unimport { shift; unshift @_, 0; goto &work }
# spent 419µs making 54 calls to if::work, avg 8µs/call
22
2313µs1;
24__END__
 
# spent 50µs within if::CORE:subst which was called 73 times, avg 685ns/call: # 73 times (50µs+0s) by if::work at line 14, avg 685ns/call
sub if::CORE:subst; # opcode