← 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:04 2022

Filename/Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/MetaData.pm
StatementsExecuted 199187 statements in 118ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
318283295.5ms283msJSON::Schema::Modern::Vocabulary::MetaData::::_eval_keyword_titleJSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_title
51141113.8ms39.5msJSON::Schema::Modern::Vocabulary::MetaData::::_eval_keyword_descriptionJSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_description
1154115.29ms47.6msJSON::Schema::Modern::Vocabulary::MetaData::::_eval_keyword_defaultJSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_default
12922485µs1.67msJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_titleJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_title
13622407µs2.21msJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_deprecatedJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_deprecated
12511377µs2.45msJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_readOnlyJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_readOnly
9611313µs1.58msJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_descriptionJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_description
981168µs68µsJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_defaultJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_default
11141µs46µsModule::Runtime::::BEGIN@1.319 Module::Runtime::BEGIN@1.319
11123µs925µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@11JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@11
11119µs19µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@9JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@9
11119µs63µsModule::Runtime::::BEGIN@2.320 Module::Runtime::BEGIN@2.320
11113µs43µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@13JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@13
11110µs22µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@14JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@14
1119µs266µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@10JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@10
1118µs99µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@12JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@12
1116µs17µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@15JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@15
1116µs15µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@16JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@16
1116µs39µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@17JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@17
1115µs166µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@18JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@18
5113µs3µsJSON::Schema::Modern::Vocabulary::MetaData::::evaluation_orderJSON::Schema::Modern::Vocabulary::MetaData::evaluation_order
2213µs3µsJSON::Schema::Modern::Vocabulary::MetaData::::keywordsJSON::Schema::Modern::Vocabulary::MetaData::keywords
1111µs1µsJSON::Schema::Modern::Vocabulary::MetaData::::vocabularyJSON::Schema::Modern::Vocabulary::MetaData::vocabulary
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
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1244µs251µs
# spent 46µs (41+5) within Module::Runtime::BEGIN@1.319 which was called: # once (41µs+5µs) by Module::Runtime::require_module at line 1
use strict;
# spent 46µs making 1 call to Module::Runtime::BEGIN@1.319 # spent 5µs making 1 call to strict::import
2254µs2107µs
# spent 63µs (19+44) within Module::Runtime::BEGIN@2.320 which was called: # once (19µs+44µs) by Module::Runtime::require_module at line 2
use warnings;
# spent 63µs making 1 call to Module::Runtime::BEGIN@2.320 # spent 44µ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
711µsour $VERSION = '0.559';
8
9271µs119µs
# spent 19µs within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@9 which was called: # once (19µs+0s) by Module::Runtime::require_module at line 9
use 5.020;
10243µs2523µs
# spent 266µs (9+257) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@10 which was called: # once (9µs+257µs) by Module::Runtime::require_module at line 10
use Moo;
# spent 266µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@10 # spent 257µs making 1 call to Moo::import
11352µs31.83ms
# spent 925µs (23+902) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@11 which was called: # once (23µs+902µs) by Module::Runtime::require_module at line 11
use strictures 2;
# spent 925µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@11 # spent 875µs making 1 call to strictures::import # spent 27µs making 1 call to strictures::VERSION
12240µs2190µs
# spent 99µs (8+91) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@12 which was called: # once (8µs+91µs) by Module::Runtime::require_module at line 12
use experimental qw(signatures postderef);
# spent 99µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@12 # spent 91µs making 1 call to experimental::import
13223µs246µs
# spent 43µs (13+30) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@13 which was called: # once (13µs+30µs) by Module::Runtime::require_module at line 13
use if "$]" >= 5.022, experimental => 're_strict';
# spent 43µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@13 # spent 3µs making 1 call to if::import
14219µs224µs
# spent 22µs (10+12) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@14 which was called: # once (10µs+12µs) by Module::Runtime::require_module at line 14
no if "$]" >= 5.031009, feature => 'indirect';
# spent 22µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@14 # spent 2µs making 1 call to if::unimport
15222µs217µs
# spent 17µs (6+11) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@15 which was called: # once (6µs+11µs) by Module::Runtime::require_module at line 15
no if "$]" >= 5.033001, feature => 'multidimensional';
# spent 17µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@15 # spent 0s making 1 call to if::unimport
16215µs215µs
# spent 15µs (6+9) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@16 which was called: # once (6µs+9µs) by Module::Runtime::require_module at line 16
no if "$]" >= 5.033006, feature => 'bareword_filehandles';
# spent 15µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@16 # spent 0s making 1 call to if::unimport
17217µs272µs
# spent 39µs (6+33) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@17 which was called: # once (6µs+33µs) by Module::Runtime::require_module at line 17
use JSON::Schema::Modern::Utilities qw(assert_keyword_type annotate_self);
# spent 39µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@17 # spent 33µs making 1 call to Exporter::import
182373µs2327µs
# spent 166µs (5+161) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@18 which was called: # once (5µs+161µs) by Module::Runtime::require_module at line 18
use namespace::clean;
# spent 166µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@18 # spent 161µs making 1 call to namespace::clean::import
19
2012µs1329µswith 'JSON::Schema::Modern::Vocabulary';
# spent 329µs making 1 call to Moo::with
21
22
# spent 1µs within JSON::Schema::Modern::Vocabulary::MetaData::vocabulary which was called: # once (1µs+0s) by JSON::Schema::Modern::__ANON__[/Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern.pm:709] at line 705 of /Users/ether/git/JSON-Schema-Modern/lib/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 3µs within JSON::Schema::Modern::Vocabulary::MetaData::evaluation_order which was called 5 times, avg 600ns/call: # 5 times (3µs+0s) by JSON::Schema::Modern::Vocabulary::Core::CORE:sort at line 337 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Core.pm, avg 600ns/call
sub evaluation_order { 5 }
28
2961µs
# spent 3µs within JSON::Schema::Modern::Vocabulary::MetaData::keywords which was called 2 times, avg 2µs/call: # once (2µs+0s) by JSON::Schema::Modern::_eval_subschema at line 572 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern.pm # once (1µs+0s) by JSON::Schema::Modern::_traverse_subschema at line 480 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern.pm
sub keywords ($self, $spec_version) {
30 return (
3126µs qw(title description default),
32 $spec_version ne 'draft7' ? 'deprecated' : (),
33 qw(readOnly writeOnly examples),
34 );
35}
36
37516119µs
# spent 1.67ms (485µs+1.19) within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_title which was called 129 times, avg 13µs/call: # 96 times (343µs+923µs) by JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_description at line 46, avg 13µs/call # 33 times (142µs+266µs) by JSON::Schema::Modern::_traverse_subschema at line 492 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern.pm, avg 12µs/call
sub _traverse_keyword_title ($self, $schema, $state) {
38129145µs1291.19ms return if not assert_keyword_type($state, $schema, 'string');
# spent 1.19ms making 129 calls to JSON::Schema::Modern::Utilities::assert_keyword_type, avg 9µs/call
39129181µs return 1;
40}
41
4215914020.3ms
# spent 283ms (95.5+187) within JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_title which was called 31828 times, avg 9µs/call: # 25560 times (82.1ms+133ms) by JSON::Schema::Modern::_eval_subschema at line 587 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern.pm, avg 8µs/call # 5114 times (9.39ms+16.3ms) by JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_description at line 48, avg 5µs/call # 1154 times (3.92ms+38.4ms) by JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_default at line 52, avg 37µs/call
sub _eval_keyword_title ($self, $data, $schema, $state) {
433182877.6ms31828187ms annotate_self($state, $schema);
# spent 187ms making 31828 calls to JSON::Schema::Modern::Utilities::annotate_self, avg 6µs/call
44}
45
4696341µs961.27ms
# spent 1.58ms (313µs+1.27) within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_description which was called 96 times, avg 16µs/call: # 96 times (313µs+1.27ms) by JSON::Schema::Modern::_traverse_subschema at line 492 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern.pm, avg 16µs/call
sub _traverse_keyword_description { shift->_traverse_keyword_title(@_) }
# spent 1.27ms making 96 calls to JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_title, avg 13µs/call
47
48511412.8ms511425.7ms
# spent 39.5ms (13.8+25.7) within JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_description which was called 5114 times, avg 8µs/call: # 5114 times (13.8ms+25.7ms) by JSON::Schema::Modern::_eval_subschema at line 587 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern.pm, avg 8µs/call
sub _eval_keyword_description { shift->_eval_keyword_title(@_) }
# spent 25.7ms making 5114 calls to JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_title, avg 5µs/call
49
5098160µs
# spent 68µs within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_default which was called 98 times, avg 694ns/call: # 98 times (68µs+0s) by JSON::Schema::Modern::_traverse_subschema at line 492 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern.pm, avg 694ns/call
sub _traverse_keyword_default { 1 }
51
5211544.40ms115442.3ms
# spent 47.6ms (5.29+42.3) within JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_default which was called 1154 times, avg 41µs/call: # 1154 times (5.29ms+42.3ms) by JSON::Schema::Modern::_eval_subschema at line 587 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern.pm, avg 41µs/call
sub _eval_keyword_default { shift->_eval_keyword_title(@_) }
# spent 42.3ms making 1154 calls to JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_title, avg 37µs/call
53
5454496µs
# spent 2.21ms (407µs+1.81) within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_deprecated which was called 136 times, avg 16µs/call: # 125 times (372µs+1.70ms) by JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_readOnly at line 61, avg 17µs/call # 11 times (35µs+110µs) by JSON::Schema::Modern::_traverse_subschema at line 492 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern.pm, avg 13µs/call
sub _traverse_keyword_deprecated ($self, $schema, $state) {
55136121µs1361.81ms return if not assert_keyword_type($state, $schema, 'boolean');
# spent 1.81ms making 136 calls to JSON::Schema::Modern::Utilities::assert_keyword_type, avg 13µs/call
56136213µs return 1;
57}
58
59sub _eval_keyword_deprecated { shift->_eval_keyword_title(@_) }
60
61125366µs1252.07ms
# spent 2.45ms (377µs+2.07) within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_readOnly which was called 125 times, avg 20µs/call: # 125 times (377µs+2.07ms) by JSON::Schema::Modern::_traverse_subschema at line 492 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern.pm, avg 20µs/call
sub _traverse_keyword_readOnly { shift->_traverse_keyword_deprecated(@_) }
# spent 2.07ms making 125 calls to JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_deprecated, avg 17µ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
7615µs1;
77117µs1169µs__END__