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

Filename/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/JSON/Schema/Modern/Vocabulary/MetaData.pm
StatementsExecuted 201696 statements in 168ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
3221432157ms9.11sJSON::Schema::Modern::Vocabulary::MetaData::::_eval_keyword_titleJSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_title
51741122.2ms1.44sJSON::Schema::Modern::Vocabulary::MetaData::::_eval_keyword_descriptionJSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_description
1180116.51ms373msJSON::Schema::Modern::Vocabulary::MetaData::::_eval_keyword_defaultJSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_default
13122698µs2.42msJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_titleJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_title
15022618µs2.83msJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_deprecatedJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_deprecated
9711517µs2.29msJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_descriptionJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_description
13511509µs3.03msJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_readOnlyJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_readOnly
111107µs112µsModule::Runtime::::BEGIN@1.318 Module::Runtime::BEGIN@1.318
981182µs82µsJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_defaultJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_default
11132µs497µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@10JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@10
11123µs716µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@11JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@11
11115µs15µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@9JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@9
11111µs25µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@14JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@14
11111µs63µsModule::Runtime::::BEGIN@2.319 Module::Runtime::BEGIN@2.319
11110µs31µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@13JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@13
22110µs10µsJSON::Schema::Modern::Vocabulary::MetaData::::keywordsJSON::Schema::Modern::Vocabulary::MetaData::keywords
1119µs15µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@16JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@16
1118µs18µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@15JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@15
1117µs98µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@12JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@12
1117µs35µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@17JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@17
1116µs222µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@18JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@18
5111µs1µsJSON::Schema::Modern::Vocabulary::MetaData::::evaluation_orderJSON::Schema::Modern::Vocabulary::MetaData::evaluation_order
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
12155µs2117µs
# spent 112µs (107+5) within Module::Runtime::BEGIN@1.318 which was called: # once (107µs+5µs) by Module::Runtime::require_module at line 1
use strict;
# spent 112µs making 1 call to Module::Runtime::BEGIN@1.318 # spent 5µs making 1 call to strict::import
2294µs2115µs
# spent 63µs (11+52) within Module::Runtime::BEGIN@2.319 which was called: # once (11µs+52µs) by Module::Runtime::require_module at line 2
use warnings;
# spent 63µs making 1 call to Module::Runtime::BEGIN@2.319 # spent 52µ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.556';
8
9288µs115µs
# spent 15µs within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@9 which was called: # once (15µs+0s) by Module::Runtime::require_module at line 9
use 5.020;
10245µs2962µs
# spent 497µs (32+465) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@10 which was called: # once (32µs+465µs) by Module::Runtime::require_module at line 10
use Moo;
# spent 497µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@10 # spent 465µs making 1 call to Moo::import
11333µs31.41ms
# spent 716µs (23+693) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@11 which was called: # once (23µs+693µs) by Module::Runtime::require_module at line 11
use strictures 2;
# spent 716µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@11 # spent 673µs making 1 call to strictures::import # spent 20µs making 1 call to strictures::VERSION
12234µs2189µs
# spent 98µs (7+91) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@12 which was called: # once (7µs+91µs) by Module::Runtime::require_module at line 12
use experimental qw(signatures postderef);
# spent 98µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@12 # spent 91µs making 1 call to experimental::import
13223µs234µs
# spent 31µs (10+21) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@13 which was called: # once (10µs+21µs) by Module::Runtime::require_module at line 13
use if "$]" >= 5.022, experimental => 're_strict';
# spent 31µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@13 # spent 3µs making 1 call to if::import
14221µs227µs
# spent 25µs (11+14) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@14 which was called: # once (11µs+14µs) by Module::Runtime::require_module at line 14
no if "$]" >= 5.031009, feature => 'indirect';
# spent 25µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@14 # spent 2µs making 1 call to if::unimport
15217µs219µs
# spent 18µs (8+10) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@15 which was called: # once (8µs+10µs) by Module::Runtime::require_module at line 15
no if "$]" >= 5.033001, feature => 'multidimensional';
# spent 18µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@15 # spent 1µs making 1 call to if::unimport
16215µs215µs
# spent 15µs (9+6) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@16 which was called: # once (9µs+6µ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
17222µs263µs
# spent 35µs (7+28) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@17 which was called: # once (7µs+28µs) by Module::Runtime::require_module at line 17
use JSON::Schema::Modern::Utilities qw(assert_keyword_type annotate_self);
# spent 35µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@17 # spent 28µs making 1 call to Exporter::import
182382µs2438µs
# spent 222µs (6+216) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@18 which was called: # once (6µs+216µs) by Module::Runtime::require_module at line 18
use namespace::clean;
# spent 222µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@18 # spent 216µs making 1 call to namespace::clean::import
19
2012µs1332µswith 'JSON::Schema::Modern::Vocabulary';
# spent 332µ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/.perlbrew/libs/36.0@std/lib/perl5/JSON/Schema/Modern.pm:696] at line 692 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
2756µs
# spent 1µs within JSON::Schema::Modern::Vocabulary::MetaData::evaluation_order which was called 5 times, avg 200ns/call: # 5 times (1µs+0s) by JSON::Schema::Modern::Vocabulary::Core::CORE:sort at line 331 of JSON/Schema/Modern/Vocabulary/Core.pm, avg 200ns/call
sub evaluation_order { 5 }
28
2963µs
# spent 10µs within JSON::Schema::Modern::Vocabulary::MetaData::keywords which was called 2 times, avg 5µs/call: # once (5µs+0s) by JSON::Schema::Modern::_traverse_subschema at line 471 of JSON/Schema/Modern.pm # once (5µs+0s) by JSON::Schema::Modern::_eval_subschema at line 559 of JSON/Schema/Modern.pm
sub keywords ($self, $spec_version) {
30 return (
31211µs qw(title description default),
32 $spec_version ne 'draft7' ? 'deprecated' : (),
33 qw(readOnly writeOnly examples),
34 );
35}
36
37524107µs
# spent 2.42ms (698µs+1.72) within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_title which was called 131 times, avg 18µs/call: # 97 times (444µs+1.33ms) by JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_description at line 46, avg 18µs/call # 34 times (254µs+392µs) by JSON::Schema::Modern::_traverse_subschema at line 483 of JSON/Schema/Modern.pm, avg 19µs/call
sub _traverse_keyword_title ($self, $schema, $state) {
38131188µs1311.72ms return if not assert_keyword_type($state, $schema, 'string');
# spent 1.72ms making 131 calls to JSON::Schema::Modern::Utilities::assert_keyword_type, avg 13µs/call
39131292µs return 1;
40}
41
4216107027.2ms
# spent 9.11s (157ms+8.95) within JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_title which was called 32214 times, avg 283µs/call: # 25860 times (135ms+7.20s) by JSON::Schema::Modern::_eval_subschema at line 574 of JSON/Schema/Modern.pm, avg 284µs/call # 5174 times (16.9ms+1.40s) by JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_description at line 48, avg 273µs/call # 1180 times (5.21ms+361ms) by JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_default at line 52, avg 311µs/call
sub _eval_keyword_title ($self, $data, $schema, $state) {
4332214113ms322148.95s annotate_self($state, $schema);
# spent 8.95s making 32214 calls to JSON::Schema::Modern::Utilities::annotate_self, avg 278µs/call
44}
45
4697512µs971.77ms
# spent 2.29ms (517µs+1.77) within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_description which was called 97 times, avg 24µs/call: # 97 times (517µs+1.77ms) by JSON::Schema::Modern::_traverse_subschema at line 483 of JSON/Schema/Modern.pm, avg 24µs/call
sub _traverse_keyword_description { shift->_traverse_keyword_title(@_) }
# spent 1.77ms making 97 calls to JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_title, avg 18µs/call
47
48517419.0ms51741.41s
# spent 1.44s (22.2ms+1.41) within JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_description which was called 5174 times, avg 277µs/call: # 5174 times (22.2ms+1.41s) by JSON::Schema::Modern::_eval_subschema at line 574 of JSON/Schema/Modern.pm, avg 277µs/call
sub _eval_keyword_description { shift->_eval_keyword_title(@_) }
# spent 1.41s making 5174 calls to JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_title, avg 273µs/call
49
5098122µs
# spent 82µs within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_default which was called 98 times, avg 837ns/call: # 98 times (82µs+0s) by JSON::Schema::Modern::_traverse_subschema at line 483 of JSON/Schema/Modern.pm, avg 837ns/call
sub _traverse_keyword_default { 1 }
51
5211806.05ms1180367ms
# spent 373ms (6.51+367) within JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_default which was called 1180 times, avg 316µs/call: # 1180 times (6.51ms+367ms) by JSON::Schema::Modern::_eval_subschema at line 574 of JSON/Schema/Modern.pm, avg 316µs/call
sub _eval_keyword_default { shift->_eval_keyword_title(@_) }
# spent 367ms making 1180 calls to JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_title, avg 311µs/call
53
54600109µs
# spent 2.83ms (618µs+2.21) within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_deprecated which was called 150 times, avg 19µs/call: # 135 times (545µs+1.98ms) by JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_readOnly at line 61, avg 19µs/call # 15 times (73µs+235µs) by JSON::Schema::Modern::_traverse_subschema at line 483 of JSON/Schema/Modern.pm, avg 21µs/call
sub _traverse_keyword_deprecated ($self, $schema, $state) {
55150139µs1502.21ms return if not assert_keyword_type($state, $schema, 'boolean');
# spent 2.21ms making 150 calls to JSON::Schema::Modern::Utilities::assert_keyword_type, avg 15µs/call
56150337µs return 1;
57}
58
59sub _eval_keyword_deprecated { shift->_eval_keyword_title(@_) }
60
61135409µs1352.52ms
# spent 3.03ms (509µs+2.52) within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_readOnly which was called 135 times, avg 22µs/call: # 135 times (509µs+2.52ms) by JSON::Schema::Modern::_traverse_subschema at line 483 of JSON/Schema/Modern.pm, avg 22µs/call
sub _traverse_keyword_readOnly { shift->_traverse_keyword_deprecated(@_) }
# spent 2.52ms making 135 calls to JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_deprecated, avg 19µ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;
77
78117µs1178µs__END__