← Index
NYTProf Performance Profile   « line view »
For ../prof.pl
  Run on Wed Dec 14 16:10:05 2022
Reported on Wed Dec 14 16:12:58 2022

Filename/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/JSON/Schema/Modern/Vocabulary/MetaData.pm
StatementsExecuted 201696 statements in 158ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
3221432133ms2.52sJSON::Schema::Modern::Vocabulary::MetaData::::_eval_keyword_titleJSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_title
51741120.0ms343msJSON::Schema::Modern::Vocabulary::MetaData::::_eval_keyword_descriptionJSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_description
1180116.57ms171msJSON::Schema::Modern::Vocabulary::MetaData::::_eval_keyword_defaultJSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_default
13122537µs1.86msJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_titleJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_title
15022503µs2.54msJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_deprecatedJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_deprecated
13511487µs2.86msJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_readOnlyJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_readOnly
9711394µs1.75msJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_descriptionJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_description
9811121µs121µsJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_defaultJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_default
11142µs50µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@15JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@15
11140µs46µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@16JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@16
11136µs39µsModule::Runtime::::BEGIN@1.319 Module::Runtime::BEGIN@1.319
11117µs825µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@11JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@11
11114µs14µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@9JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@9
11111µs103µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@13JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@13
2219µs9µsJSON::Schema::Modern::Vocabulary::MetaData::::keywordsJSON::Schema::Modern::Vocabulary::MetaData::keywords
1118µs517µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@10JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@10
1118µs132µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@12JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@12
1118µs42µsModule::Runtime::::BEGIN@2.320 Module::Runtime::BEGIN@2.320
1117µs26µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@14JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@14
1117µs68µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@17JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@17
1117µs228µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@18JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@18
5112µs2µsJSON::Schema::Modern::Vocabulary::MetaData::::evaluation_orderJSON::Schema::Modern::Vocabulary::MetaData::evaluation_order
0000s0sJSON::Schema::Modern::Vocabulary::MetaData::::_eval_keyword_deprecatedJSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_deprecated
0000s0sJSON::Schema::Modern::Vocabulary::MetaData::::_eval_keyword_examplesJSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_examples
0000s0sJSON::Schema::Modern::Vocabulary::MetaData::::_eval_keyword_readOnlyJSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_readOnly
0000s0sJSON::Schema::Modern::Vocabulary::MetaData::::_eval_keyword_writeOnlyJSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_writeOnly
0000s0sJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_examplesJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_examples
0000s0sJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_writeOnlyJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_writeOnly
1110s0sJSON::Schema::Modern::Vocabulary::MetaData::::vocabularyJSON::Schema::Modern::Vocabulary::MetaData::vocabulary
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1240µs242µs
# spent 39µs (36+3) within Module::Runtime::BEGIN@1.319 which was called: # once (36µs+3µs) by Module::Runtime::require_module at line 1
use strict;
# spent 39µs making 1 call to Module::Runtime::BEGIN@1.319 # spent 3µs making 1 call to strict::import
2292µs276µs
# spent 42µs (8+34) within Module::Runtime::BEGIN@2.320 which was called: # once (8µs+34µs) by Module::Runtime::require_module at line 2
use warnings;
# spent 42µs making 1 call to Module::Runtime::BEGIN@2.320 # spent 34µs making 1 call to warnings::import
3package JSON::Schema::Modern::Vocabulary::MetaData;
4# vim: set ts=8 sts=2 sw=2 tw=100 et :
5# ABSTRACT: Implementation of the JSON Schema Meta-Data vocabulary
6
710sour $VERSION = '0.558';
8
9245µs114µs
# spent 14µs within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@9 which was called: # once (14µs+0s) by Module::Runtime::require_module at line 9
use 5.020;
10236µs21.03ms
# spent 517µs (8+509) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@10 which was called: # once (8µs+509µs) by Module::Runtime::require_module at line 10
use Moo;
# spent 517µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@10 # spent 509µs making 1 call to Moo::import
11356µs31.63ms
# spent 825µs (17+808) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@11 which was called: # once (17µs+808µs) by Module::Runtime::require_module at line 11
use strictures 2;
# spent 825µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@11 # spent 789µs making 1 call to strictures::import # spent 18µs making 1 call to strictures::VERSION
12235µs2256µs
# spent 132µs (8+124) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@12 which was called: # once (8µs+124µs) by Module::Runtime::require_module at line 12
use experimental qw(signatures postderef);
# spent 132µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@12 # spent 124µs making 1 call to experimental::import
13225µs2145µs
# spent 103µs (11+92) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@13 which was called: # once (11µs+92µs) by Module::Runtime::require_module at line 13
use if "$]" >= 5.022, experimental => 're_strict';
# spent 103µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@13 # spent 42µs making 1 call to if::import
14241µs229µs
# spent 26µs (7+19) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@14 which was called: # once (7µs+19µs) by Module::Runtime::require_module at line 14
no if "$]" >= 5.031009, feature => 'indirect';
# spent 26µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@14 # spent 3µs making 1 call to if::unimport
15218µs251µs
# spent 50µs (42+8) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@15 which was called: # once (42µs+8µs) by Module::Runtime::require_module at line 15
no if "$]" >= 5.033001, feature => 'multidimensional';
# spent 50µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@15 # spent 1µs making 1 call to if::unimport
16216µs246µs
# spent 46µs (40+6) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@16 which was called: # once (40µs+6µs) by Module::Runtime::require_module at line 16
no if "$]" >= 5.033006, feature => 'bareword_filehandles';
# spent 46µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@16 # spent 0s making 1 call to if::unimport
17218µs2129µs
# spent 68µs (7+61) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@17 which was called: # once (7µs+61µs) by Module::Runtime::require_module at line 17
use JSON::Schema::Modern::Utilities qw(assert_keyword_type annotate_self);
# spent 68µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@17 # spent 61µs making 1 call to Exporter::import
182506µs2449µs
# spent 228µs (7+221) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@18 which was called: # once (7µs+221µs) by Module::Runtime::require_module at line 18
use namespace::clean;
# spent 228µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@18 # spent 221µs making 1 call to namespace::clean::import
19
2011µs1337µswith 'JSON::Schema::Modern::Vocabulary';
# spent 337µs making 1 call to Moo::with
21
22
# spent 0s within JSON::Schema::Modern::Vocabulary::MetaData::vocabulary which was called: # once (0s+0s) by JSON::Schema::Modern::__ANON__[/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/JSON/Schema/Modern.pm:700] at line 696 of JSON/Schema/Modern.pm
sub vocabulary {
2312µs 'https://json-schema.org/draft/2019-09/vocab/meta-data' => 'draft2019-09',
24 'https://json-schema.org/draft/2020-12/vocab/meta-data' => 'draft2020-12';
25}
26
2754µs
# spent 2µs within JSON::Schema::Modern::Vocabulary::MetaData::evaluation_order which was called 5 times, avg 400ns/call: # 5 times (2µs+0s) by JSON::Schema::Modern::Vocabulary::Core::CORE:sort at line 331 of JSON/Schema/Modern/Vocabulary/Core.pm, avg 400ns/call
sub evaluation_order { 5 }
28
2962µs
# spent 9µs within JSON::Schema::Modern::Vocabulary::MetaData::keywords which was called 2 times, avg 4µs/call: # once (6µs+0s) by JSON::Schema::Modern::_eval_subschema at line 563 of JSON/Schema/Modern.pm # once (3µs+0s) by JSON::Schema::Modern::_traverse_subschema at line 475 of JSON/Schema/Modern.pm
sub keywords ($self, $spec_version) {
30 return (
31210µs qw(title description default),
32 $spec_version ne 'draft7' ? 'deprecated' : (),
33 qw(readOnly writeOnly examples),
34 );
35}
36
37524116µs
# spent 1.86ms (537µs+1.33) within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_title which was called 131 times, avg 14µs/call: # 97 times (349µs+1.00ms) by JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_description at line 46, avg 14µs/call # 34 times (188µs+323µs) by JSON::Schema::Modern::_traverse_subschema at line 487 of JSON/Schema/Modern.pm, avg 15µs/call
sub _traverse_keyword_title ($self, $schema, $state) {
38131142µs1311.33ms return if not assert_keyword_type($state, $schema, 'string');
# spent 1.33ms making 131 calls to JSON::Schema::Modern::Utilities::assert_keyword_type, avg 10µs/call
39131240µs return 1;
40}
41
4216107029.4ms
# spent 2.52s (133ms+2.39) within JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_title which was called 32214 times, avg 78µs/call: # 25860 times (116ms+1.92s) by JSON::Schema::Modern::_eval_subschema at line 578 of JSON/Schema/Modern.pm, avg 79µs/call # 5174 times (12.9ms+310ms) by JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_description at line 48, avg 62µs/call # 1180 times (4.94ms+159ms) by JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_default at line 52, avg 139µs/call
sub _eval_keyword_title ($self, $data, $schema, $state) {
4332214102ms322142.39s annotate_self($state, $schema);
# spent 2.39s making 32214 calls to JSON::Schema::Modern::Utilities::annotate_self, avg 74µs/call
44}
45
4697316µs971.35ms
# spent 1.75ms (394µs+1.35) within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_description which was called 97 times, avg 18µs/call: # 97 times (394µs+1.35ms) by JSON::Schema::Modern::_traverse_subschema at line 487 of JSON/Schema/Modern.pm, avg 18µs/call
sub _traverse_keyword_description { shift->_traverse_keyword_title(@_) }
# spent 1.35ms making 97 calls to JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_title, avg 14µs/call
47
48517418.5ms5174323ms
# spent 343ms (20.0+323) within JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_description which was called 5174 times, avg 66µs/call: # 5174 times (20.0ms+323ms) by JSON::Schema::Modern::_eval_subschema at line 578 of JSON/Schema/Modern.pm, avg 66µs/call
sub _eval_keyword_description { shift->_eval_keyword_title(@_) }
# spent 323ms making 5174 calls to JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_title, avg 62µs/call
49
5098148µs
# spent 121µs within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_default which was called 98 times, avg 1µs/call: # 98 times (121µs+0s) by JSON::Schema::Modern::_traverse_subschema at line 487 of JSON/Schema/Modern.pm, avg 1µs/call
sub _traverse_keyword_default { 1 }
51
5211805.34ms1180164ms
# spent 171ms (6.57+164) within JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_default which was called 1180 times, avg 145µs/call: # 1180 times (6.57ms+164ms) by JSON::Schema::Modern::_eval_subschema at line 578 of JSON/Schema/Modern.pm, avg 145µs/call
sub _eval_keyword_default { shift->_eval_keyword_title(@_) }
# spent 164ms making 1180 calls to JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_title, avg 139µs/call
53
5460066µs
# spent 2.54ms (503µs+2.04) within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_deprecated which was called 150 times, avg 17µs/call: # 135 times (467µs+1.91ms) by JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_readOnly at line 61, avg 18µs/call # 15 times (36µs+132µs) by JSON::Schema::Modern::_traverse_subschema at line 487 of JSON/Schema/Modern.pm, avg 11µs/call
sub _traverse_keyword_deprecated ($self, $schema, $state) {
55150131µs1502.04ms return if not assert_keyword_type($state, $schema, 'boolean');
# spent 2.04ms making 150 calls to JSON::Schema::Modern::Utilities::assert_keyword_type, avg 14µs/call
56150245µs return 1;
57}
58
59sub _eval_keyword_deprecated { shift->_eval_keyword_title(@_) }
60
61135475µs1352.37ms
# spent 2.86ms (487µs+2.37) within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_readOnly which was called 135 times, avg 21µs/call: # 135 times (487µs+2.37ms) by JSON::Schema::Modern::_traverse_subschema at line 487 of JSON/Schema/Modern.pm, avg 21µs/call
sub _traverse_keyword_readOnly { shift->_traverse_keyword_deprecated(@_) }
# spent 2.37ms making 135 calls to JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_deprecated, avg 18µs/call
62
63sub _eval_keyword_readOnly { shift->_eval_keyword_title(@_) }
64
65sub _traverse_keyword_writeOnly { shift->_traverse_keyword_deprecated(@_) }
66
67sub _eval_keyword_writeOnly { shift->_eval_keyword_title(@_) }
68
69sub _traverse_keyword_examples ($self, $schema, $state) {
70 return if not assert_keyword_type($state, $schema, 'array');
71 return 1;
72}
73
74sub _eval_keyword_examples { shift->_eval_keyword_title(@_) }
75
7614µs1;
77
78117µs1162µs__END__