← Index
NYTProf Performance Profile   « line view »
For ../prof.pl
  Run on Wed Dec 14 15:33:55 2022
Reported on Wed Dec 14 15:40:04 2022

Filename/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/JSON/Schema/Modern/Vocabulary/MetaData.pm
StatementsExecuted 577988 statements in 406ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
9407521196ms196msJSON::Schema::Modern::Vocabulary::MetaData::::keywordsJSON::Schema::Modern::Vocabulary::MetaData::keywords
3221432113ms8.00sJSON::Schema::Modern::Vocabulary::MetaData::::_eval_keyword_titleJSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_title
51741116.2ms1.20sJSON::Schema::Modern::Vocabulary::MetaData::::_eval_keyword_descriptionJSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_description
1180114.40ms350msJSON::Schema::Modern::Vocabulary::MetaData::::_eval_keyword_defaultJSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_default
15022456µs2.48msJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_deprecatedJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_deprecated
13122425µs1.66msJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_titleJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_title
13511370µs2.64msJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_readOnlyJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_readOnly
9711249µs1.38msJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_descriptionJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_description
981163µs63µsJSON::Schema::Modern::Vocabulary::MetaData::::_traverse_keyword_defaultJSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_default
11146µs50µsModule::Runtime::::BEGIN@1.318 Module::Runtime::BEGIN@1.318
11136µs249µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@18JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@18
11126µs928µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@11JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@11
11126µs39µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@16JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@16
11117µs41µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@13JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@13
11117µs33µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@15JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@15
11113µs13µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@9JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@9
11113µs53µsModule::Runtime::::BEGIN@2.319 Module::Runtime::BEGIN@2.319
11110µs297µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@10JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@10
11110µs37µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@14JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@14
1119µs140µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@12JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@12
1117µs65µsJSON::Schema::Modern::Vocabulary::MetaData::::BEGIN@17JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@17
5114µs4µ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
1248µs254µs
# spent 50µs (46+4) within Module::Runtime::BEGIN@1.318 which was called: # once (46µs+4µs) by Module::Runtime::require_module at line 1
use strict;
# spent 50µs making 1 call to Module::Runtime::BEGIN@1.318 # spent 4µs making 1 call to strict::import
2257µs293µs
# spent 53µs (13+40) within Module::Runtime::BEGIN@2.319 which was called: # once (13µs+40µs) by Module::Runtime::require_module at line 2
use warnings;
# spent 53µs making 1 call to Module::Runtime::BEGIN@2.319 # spent 40µ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.552';
8
9252µs113µs
# spent 13µs within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@9 which was called: # once (13µs+0s) by Module::Runtime::require_module at line 9
use 5.020;
10241µs2584µs
# spent 297µs (10+287) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@10 which was called: # once (10µs+287µs) by Module::Runtime::require_module at line 10
use Moo;
# spent 297µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@10 # spent 287µs making 1 call to Moo::import
11346µs31.83ms
# spent 928µs (26+902) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@11 which was called: # once (26µs+902µs) by Module::Runtime::require_module at line 11
use strictures 2;
# spent 928µ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
12248µs2271µs
# spent 140µs (9+131) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@12 which was called: # once (9µs+131µs) by Module::Runtime::require_module at line 12
use experimental qw(signatures postderef);
# spent 140µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@12 # spent 131µs making 1 call to experimental::import
13247µs244µs
# spent 41µs (17+24) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@13 which was called: # once (17µs+24µs) by Module::Runtime::require_module at line 13
use if "$]" >= 5.022, experimental => 're_strict';
# spent 41µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@13 # spent 3µs making 1 call to if::import
14232µs239µs
# spent 37µs (10+27) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@14 which was called: # once (10µs+27µs) by Module::Runtime::require_module at line 14
no if "$]" >= 5.031009, feature => 'indirect';
# spent 37µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@14 # spent 2µs making 1 call to if::unimport
15242µs235µs
# spent 33µs (17+16) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@15 which was called: # once (17µs+16µs) by Module::Runtime::require_module at line 15
no if "$]" >= 5.033001, feature => 'multidimensional';
# spent 33µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@15 # spent 2µs making 1 call to if::unimport
16234µs239µs
# spent 39µs (26+13) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@16 which was called: # once (26µs+13µs) by Module::Runtime::require_module at line 16
no if "$]" >= 5.033006, feature => 'bareword_filehandles';
# spent 39µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@16 # spent 0s making 1 call to if::unimport
17218µs2123µs
# spent 65µs (7+58) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@17 which was called: # once (7µs+58µs) by Module::Runtime::require_module at line 17
use JSON::Schema::Modern::Utilities qw(assert_keyword_type annotate_self);
# spent 65µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@17 # spent 58µs making 1 call to Exporter::import
182350µs2462µs
# spent 249µs (36+213) within JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@18 which was called: # once (36µs+213µs) by Module::Runtime::require_module at line 18
use namespace::clean;
# spent 249µs making 1 call to JSON::Schema::Modern::Vocabulary::MetaData::BEGIN@18 # spent 213µs making 1 call to namespace::clean::import
19
2011µs1323µswith 'JSON::Schema::Modern::Vocabulary';
# spent 323µ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:670] at line 666 of JSON/Schema/Modern.pm
sub vocabulary {
2313µ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
2758µs
# spent 4µs within JSON::Schema::Modern::Vocabulary::MetaData::evaluation_order which was called 5 times, avg 800ns/call: # 5 times (4µs+0s) by JSON::Schema::Modern::Vocabulary::Core::CORE:sort at line 322 of JSON/Schema/Modern/Vocabulary/Core.pm, avg 800ns/call
sub evaluation_order { 5 }
28
2928222540.8ms
# spent 196ms within JSON::Schema::Modern::Vocabulary::MetaData::keywords which was called 94075 times, avg 2µs/call: # 91595 times (191ms+0s) by JSON::Schema::Modern::_eval_subschema at line 535 of JSON/Schema/Modern.pm, avg 2µs/call # 2480 times (4.89ms+0s) by JSON::Schema::Modern::_traverse_subschema at line 447 of JSON/Schema/Modern.pm, avg 2µs/call
sub keywords ($self, $spec_version) {
30 return (
3194075217ms qw(title description default),
32 $spec_version ne 'draft7' ? 'deprecated' : (),
33 qw(readOnly writeOnly examples),
34 );
35}
36
3752467µs
# spent 1.66ms (425µs+1.23) within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_title which was called 131 times, avg 13µs/call: # 97 times (262µs+864µs) by JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_description at line 46, avg 12µs/call # 34 times (163µs+369µs) by JSON::Schema::Modern::_traverse_subschema at line 457 of JSON/Schema/Modern.pm, avg 16µs/call
sub _traverse_keyword_title ($self, $schema, $state) {
38131106µs1311.23ms return if not assert_keyword_type($state, $schema, 'string');
# spent 1.23ms making 131 calls to JSON::Schema::Modern::Utilities::assert_keyword_type, avg 9µs/call
39131237µs return 1;
40}
41
4216107027.3ms
# spent 8.00s (113ms+7.88) within JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_title which was called 32214 times, avg 248µs/call: # 25860 times (94.1ms+6.37s) by JSON::Schema::Modern::_eval_subschema at line 548 of JSON/Schema/Modern.pm, avg 250µs/call # 5174 times (13.9ms+1.17s) by JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_description at line 48, avg 229µs/call # 1180 times (4.88ms+341ms) by JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_default at line 52, avg 293µs/call
sub _eval_keyword_title ($self, $data, $schema, $state) {
433221498.5ms322147.88s annotate_self($state, $schema);
# spent 7.88s making 32214 calls to JSON::Schema::Modern::Utilities::annotate_self, avg 245µs/call
44}
45
4697210µs971.13ms
# spent 1.38ms (249µs+1.13) within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_description which was called 97 times, avg 14µs/call: # 97 times (249µs+1.13ms) by JSON::Schema::Modern::_traverse_subschema at line 457 of JSON/Schema/Modern.pm, avg 14µs/call
sub _traverse_keyword_description { shift->_traverse_keyword_title(@_) }
# spent 1.13ms making 97 calls to JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_title, avg 12µs/call
47
48517415.8ms51741.19s
# spent 1.20s (16.2ms+1.19) within JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_description which was called 5174 times, avg 233µs/call: # 5174 times (16.2ms+1.19s) by JSON::Schema::Modern::_eval_subschema at line 548 of JSON/Schema/Modern.pm, avg 233µs/call
sub _eval_keyword_description { shift->_eval_keyword_title(@_) }
# spent 1.19s making 5174 calls to JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_title, avg 229µs/call
49
5098144µs
# spent 63µs within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_default which was called 98 times, avg 643ns/call: # 98 times (63µs+0s) by JSON::Schema::Modern::_traverse_subschema at line 457 of JSON/Schema/Modern.pm, avg 643ns/call
sub _traverse_keyword_default { 1 }
51
5211804.48ms1180345ms
# spent 350ms (4.40+345) within JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_default which was called 1180 times, avg 297µs/call: # 1180 times (4.40ms+345ms) by JSON::Schema::Modern::_eval_subschema at line 548 of JSON/Schema/Modern.pm, avg 297µs/call
sub _eval_keyword_default { shift->_eval_keyword_title(@_) }
# spent 345ms making 1180 calls to JSON::Schema::Modern::Vocabulary::MetaData::_eval_keyword_title, avg 293µs/call
53
5460098µs
# spent 2.48ms (456µs+2.03) within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_deprecated which was called 150 times, avg 17µs/call: # 135 times (415µs+1.86ms) by JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_readOnly at line 61, avg 17µs/call # 15 times (41µs+169µs) by JSON::Schema::Modern::_traverse_subschema at line 457 of JSON/Schema/Modern.pm, avg 14µs/call
sub _traverse_keyword_deprecated ($self, $schema, $state) {
55150154µs1502.03ms return if not assert_keyword_type($state, $schema, 'boolean');
# spent 2.03ms making 150 calls to JSON::Schema::Modern::Utilities::assert_keyword_type, avg 14µs/call
56150258µs return 1;
57}
58
59sub _eval_keyword_deprecated { shift->_eval_keyword_title(@_) }
60
61135326µs1352.27ms
# spent 2.64ms (370µs+2.27) within JSON::Schema::Modern::Vocabulary::MetaData::_traverse_keyword_readOnly which was called 135 times, avg 20µs/call: # 135 times (370µs+2.27ms) by JSON::Schema::Modern::_traverse_subschema at line 457 of JSON/Schema/Modern.pm, avg 20µs/call
sub _traverse_keyword_readOnly { shift->_traverse_keyword_deprecated(@_) }
# spent 2.27ms making 135 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;
77
78115µs1168µs__END__