Filename | /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary.pm |
Statements | Executed 842234 statements in 1.52s |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
41337 | 2 | 1 | 1.24s | 64.4s | eval_subschema_at_uri (recurses: max depth 38, inclusive time 700s) | JSON::Schema::Modern::Vocabulary::
49439 | 12 | 1 | 258ms | 64.4s | eval (recurses: max depth 34, inclusive time 631s) | JSON::Schema::Modern::Vocabulary::
289359 | 1 | 1 | 41.5ms | 41.5ms | CORE:subst (opcode) | JSON::Schema::Modern::Vocabulary::
397 | 3 | 2 | 14.6ms | 336ms | traverse_object_schemas (recurses: max depth 3, inclusive time 101ms) | JSON::Schema::Modern::Vocabulary::
553 | 10 | 3 | 4.24ms | 157ms | traverse_subschema (recurses: max depth 2, inclusive time 49.3ms) | JSON::Schema::Modern::Vocabulary::
74 | 3 | 1 | 1.91ms | 66.3ms | traverse_array_schemas (recurses: max depth 2, inclusive time 2.30ms) | JSON::Schema::Modern::Vocabulary::
397 | 1 | 1 | 407µs | 407µs | CORE:sort (opcode) | JSON::Schema::Modern::Vocabulary::
1 | 1 | 1 | 103µs | 122µs | BEGIN@16 | JSON::Schema::Modern::Vocabulary::
6 | 1 | 1 | 67µs | 998µs | traverse_property_schema | JSON::Schema::Modern::Vocabulary::
1 | 1 | 1 | 57µs | 61µs | BEGIN@1.305 | Moo::_Utils::
1 | 1 | 1 | 19µs | 726µs | BEGIN@11 | JSON::Schema::Modern::Vocabulary::
1 | 1 | 1 | 14µs | 49µs | BEGIN@17 | JSON::Schema::Modern::Vocabulary::
1 | 1 | 1 | 13µs | 43µs | BEGIN@13 | JSON::Schema::Modern::Vocabulary::
1 | 1 | 1 | 11µs | 11µs | BEGIN@9 | JSON::Schema::Modern::Vocabulary::
1 | 1 | 1 | 10µs | 277µs | BEGIN@10 | JSON::Schema::Modern::Vocabulary::
1 | 1 | 1 | 10µs | 28µs | BEGIN@14 | JSON::Schema::Modern::Vocabulary::
1 | 1 | 1 | 8µs | 109µs | BEGIN@12 | JSON::Schema::Modern::Vocabulary::
1 | 1 | 1 | 7µs | 17µs | BEGIN@15 | JSON::Schema::Modern::Vocabulary::
1 | 1 | 1 | 7µs | 26µs | BEGIN@18 | JSON::Schema::Modern::Vocabulary::
1 | 1 | 1 | 7µs | 37µs | BEGIN@2.306 | Moo::_Utils::
1 | 1 | 1 | 6µs | 250µs | BEGIN@20 | JSON::Schema::Modern::Vocabulary::
1 | 1 | 1 | 3µs | 3µs | BEGIN@19 | JSON::Schema::Modern::Vocabulary::
3 | 1 | 1 | 3µs | 3µs | evaluation_order | JSON::Schema::Modern::Vocabulary::
0 | 0 | 0 | 0s | 0s | traverse | JSON::Schema::Modern::Vocabulary::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | 2 | 72µs | 2 | 65µs | # spent 61µs (57+4) within Moo::_Utils::BEGIN@1.305 which was called:
# once (57µs+4µs) by Moo::_Utils::_require at line 1 # spent 61µs making 1 call to Moo::_Utils::BEGIN@1.305
# spent 4µs making 1 call to strict::import |
2 | 2 | 40µs | 2 | 67µs | # spent 37µs (7+30) within Moo::_Utils::BEGIN@2.306 which was called:
# once (7µs+30µs) by Moo::_Utils::_require at line 2 # spent 37µs making 1 call to Moo::_Utils::BEGIN@2.306
# spent 30µs making 1 call to warnings::import |
3 | package JSON::Schema::Modern::Vocabulary; | ||||
4 | # vim: set ts=8 sts=2 sw=2 tw=100 et : | ||||
5 | # ABSTRACT: Base role for JSON Schema vocabulary classes | ||||
6 | |||||
7 | 1 | 0s | our $VERSION = '0.559'; | ||
8 | |||||
9 | 2 | 29µs | 1 | 11µs | # spent 11µs within JSON::Schema::Modern::Vocabulary::BEGIN@9 which was called:
# once (11µs+0s) by Moo::_Utils::_require at line 9 # spent 11µs making 1 call to JSON::Schema::Modern::Vocabulary::BEGIN@9 |
10 | 2 | 26µs | 2 | 295µs | # spent 277µs (10+267) within JSON::Schema::Modern::Vocabulary::BEGIN@10 which was called:
# once (10µs+267µs) by Moo::_Utils::_require at line 10 # spent 277µs making 1 call to JSON::Schema::Modern::Vocabulary::BEGIN@10
# spent 18µs making 1 call to Moo::Role::import |
11 | 3 | 56µs | 3 | 1.43ms | # spent 726µs (19+707) within JSON::Schema::Modern::Vocabulary::BEGIN@11 which was called:
# once (19µs+707µs) by Moo::_Utils::_require at line 11 # spent 726µs making 1 call to JSON::Schema::Modern::Vocabulary::BEGIN@11
# spent 690µs making 1 call to strictures::import
# spent 16µs making 1 call to strictures::VERSION |
12 | 2 | 38µs | 2 | 210µs | # spent 109µs (8+101) within JSON::Schema::Modern::Vocabulary::BEGIN@12 which was called:
# once (8µs+101µs) by Moo::_Utils::_require at line 12 # spent 109µs making 1 call to JSON::Schema::Modern::Vocabulary::BEGIN@12
# spent 101µs making 1 call to experimental::import |
13 | 2 | 28µs | 2 | 46µs | # spent 43µs (13+30) within JSON::Schema::Modern::Vocabulary::BEGIN@13 which was called:
# once (13µs+30µs) by Moo::_Utils::_require at line 13 # spent 43µs making 1 call to JSON::Schema::Modern::Vocabulary::BEGIN@13
# spent 3µs making 1 call to if::import |
14 | 2 | 19µs | 2 | 30µs | # spent 28µs (10+18) within JSON::Schema::Modern::Vocabulary::BEGIN@14 which was called:
# once (10µs+18µs) by Moo::_Utils::_require at line 14 # spent 28µs making 1 call to JSON::Schema::Modern::Vocabulary::BEGIN@14
# spent 2µs making 1 call to if::unimport |
15 | 2 | 19µs | 2 | 18µs | # spent 17µs (7+10) within JSON::Schema::Modern::Vocabulary::BEGIN@15 which was called:
# once (7µs+10µs) by Moo::_Utils::_require at line 15 # spent 17µs making 1 call to JSON::Schema::Modern::Vocabulary::BEGIN@15
# spent 1µs making 1 call to if::unimport |
16 | 2 | 35µs | 2 | 124µs | # spent 122µs (103+19) within JSON::Schema::Modern::Vocabulary::BEGIN@16 which was called:
# once (103µs+19µs) by Moo::_Utils::_require at line 16 # spent 122µs making 1 call to JSON::Schema::Modern::Vocabulary::BEGIN@16
# spent 2µs making 1 call to if::unimport |
17 | 3 | 52µs | 3 | 84µs | # spent 49µs (14+35) within JSON::Schema::Modern::Vocabulary::BEGIN@17 which was called:
# once (14µs+35µs) by Moo::_Utils::_require at line 17 # spent 49µs making 1 call to JSON::Schema::Modern::Vocabulary::BEGIN@17
# spent 27µs making 1 call to Exporter::import
# spent 8µs making 1 call to UNIVERSAL::VERSION |
18 | 2 | 15µs | 2 | 45µs | # spent 26µs (7+19) within JSON::Schema::Modern::Vocabulary::BEGIN@18 which was called:
# once (7µs+19µs) by Moo::_Utils::_require at line 18 # spent 26µs making 1 call to JSON::Schema::Modern::Vocabulary::BEGIN@18
# spent 19µs making 1 call to Exporter::import |
19 | 2 | 12µs | 1 | 3µs | # spent 3µs within JSON::Schema::Modern::Vocabulary::BEGIN@19 which was called:
# once (3µs+0s) by Moo::_Utils::_require at line 19 # spent 3µs making 1 call to JSON::Schema::Modern::Vocabulary::BEGIN@19 |
20 | 2 | 543µs | 2 | 494µs | # spent 250µs (6+244) within JSON::Schema::Modern::Vocabulary::BEGIN@20 which was called:
# once (6µs+244µs) by Moo::_Utils::_require at line 20 # spent 250µs making 1 call to JSON::Schema::Modern::Vocabulary::BEGIN@20
# spent 244µs making 1 call to namespace::clean::import |
21 | |||||
22 | 1 | 1µs | our @CARP_NOT = qw(JSON::Schema::Modern); | ||
23 | |||||
24 | 1 | 1µs | 1 | 11µs | requires qw(vocabulary keywords); # spent 11µs making 1 call to Moo::Role::requires |
25 | |||||
26 | 3 | 4µs | # spent 3µs within JSON::Schema::Modern::Vocabulary::evaluation_order which was called 3 times, avg 1µs/call:
# 3 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 1µs/call | ||
27 | |||||
28 | sub traverse ($self, $schema, $state) { | ||||
29 | $state->{evaluator}->_traverse_subschema($schema, $state); | ||||
30 | } | ||||
31 | |||||
32 | 2212 | 371µs | # spent 157ms (4.24+153) within JSON::Schema::Modern::Vocabulary::traverse_subschema which was called 553 times, avg 284µs/call:
# 154 times (1.35ms+1.81ms) by JSON::Schema::Modern::Vocabulary::Unevaluated::_traverse_keyword_unevaluatedProperties at line 97 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Unevaluated.pm, avg 20µs/call
# 130 times (999µs+23.6ms) by JSON::Schema::Modern::Vocabulary::Applicator::_traverse_keyword_additionalProperties at line 445 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 189µs/call
# 96 times (832µs+100ms) by JSON::Schema::Modern::Vocabulary::Applicator::_traverse_keyword_items at line 246 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 1.05ms/call
# 63 times (344µs+12.1ms) by JSON::Schema::Modern::Vocabulary::Applicator::_traverse_keyword_then at line 139 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 198µs/call
# 63 times (382µs+7.63ms) by JSON::Schema::Modern::Vocabulary::Applicator::_traverse_keyword_if at line 138 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 127µs/call
# 15 times (87µs+3.03ms) by JSON::Schema::Modern::Vocabulary::Applicator::_traverse_keyword_else at line 140 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 208µs/call
# 14 times (117µs+3.08ms) by JSON::Schema::Modern::Vocabulary::Applicator::_traverse_keyword_propertyNames at line 481 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 228µs/call
# 14 times (101µs+964µs) by JSON::Schema::Modern::Vocabulary::Applicator::_traverse_keyword_not at line 127 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 76µs/call
# 3 times (23µs+140µs) by JSON::Schema::Modern::Vocabulary::Applicator::_traverse_keyword_contains at line 334 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 54µs/call
# once (9µs+62µs) by JSON::Schema::Modern::Vocabulary::Content::_traverse_keyword_contentSchema at line 99 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Content.pm | ||
33 | $state->{evaluator}->_traverse_subschema($schema->{$state->{keyword}}, | ||||
34 | 553 | 4.13ms | 553 | 0s | +{ %$state, schema_path => $state->{schema_path}.'/'.$state->{keyword} }); # spent 202ms making 553 calls to JSON::Schema::Modern::_traverse_subschema, avg 366µs/call, recursion: max depth 6, sum of overlapping time 202ms |
35 | } | ||||
36 | |||||
37 | 296 | 72µs | # spent 66.3ms (1.91+64.4) within JSON::Schema::Modern::Vocabulary::traverse_array_schemas which was called 74 times, avg 896µs/call:
# 31 times (843µs+10.6ms) by JSON::Schema::Modern::Vocabulary::Applicator::_traverse_keyword_anyOf at line 88 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 369µs/call
# 22 times (621µs+42.7ms) by JSON::Schema::Modern::Vocabulary::Applicator::_traverse_keyword_allOf at line 68 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 1.97ms/call
# 21 times (450µs+11.1ms) by JSON::Schema::Modern::Vocabulary::Applicator::_traverse_keyword_oneOf at line 105 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 549µs/call | ||
38 | 74 | 90µs | 74 | 479µs | return if not assert_keyword_type($state, $schema, 'array'); # spent 479µs making 74 calls to JSON::Schema::Modern::Utilities::assert_keyword_type, avg 6µs/call |
39 | 74 | 55µs | return E($state, '%s array is empty', $state->{keyword}) if not $schema->{$state->{keyword}}->@*; | ||
40 | |||||
41 | 74 | 16µs | my $valid = 1; | ||
42 | 74 | 141µs | foreach my $idx (0 .. $schema->{$state->{keyword}}->$#*) { | ||
43 | $valid = 0 if not $state->{evaluator}->_traverse_subschema($schema->{$state->{keyword}}[$idx], | ||||
44 | 199 | 1.24ms | 199 | 0s | +{ %$state, schema_path => $state->{schema_path}.'/'.$state->{keyword}.'/'.$idx }); # spent 66.2ms making 199 calls to JSON::Schema::Modern::_traverse_subschema, avg 333µs/call, recursion: max depth 6, sum of overlapping time 66.2ms |
45 | } | ||||
46 | 74 | 174µs | return $valid; | ||
47 | } | ||||
48 | |||||
49 | 1588 | 287µs | # spent 336ms (14.6+321) within JSON::Schema::Modern::Vocabulary::traverse_object_schemas which was called 397 times, avg 847µs/call:
# 382 times (13.8ms+233ms) by JSON::Schema::Modern::Vocabulary::Applicator::_traverse_keyword_properties at line 368 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 646µs/call
# 12 times (820µs+88.5ms) by JSON::Schema::Modern::Vocabulary::Core::_traverse_keyword_defs at line 298 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Core.pm, avg 7.44ms/call
# 3 times (29µs+-29µs) by JSON::Schema::Modern::Vocabulary::Applicator::_traverse_keyword_dependentSchemas at line 158 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 0s/call | ||
50 | 397 | 624µs | 397 | 2.99ms | return if not assert_keyword_type($state, $schema, 'object'); # spent 2.99ms making 397 calls to JSON::Schema::Modern::Utilities::assert_keyword_type, avg 8µs/call |
51 | |||||
52 | 397 | 112µs | my $valid = 1; | ||
53 | 397 | 2.24ms | 397 | 407µs | foreach my $property (sort keys $schema->{$state->{keyword}}->%*) { # spent 407µs making 397 calls to JSON::Schema::Modern::Vocabulary::CORE:sort, avg 1µs/call |
54 | $valid = 0 if not $state->{evaluator}->_traverse_subschema($schema->{$state->{keyword}}{$property}, | ||||
55 | 1334 | 9.58ms | 2668 | 10.5ms | +{ %$state, schema_path => jsonp($state->{schema_path}, $state->{keyword}, $property) }); # spent 10.5ms making 1334 calls to JSON::Schema::Modern::Utilities::jsonp, avg 8µs/call
# spent 408ms making 1334 calls to JSON::Schema::Modern::_traverse_subschema, avg 306µs/call, recursion: max depth 6, sum of overlapping time 408ms |
56 | } | ||||
57 | 397 | 689µs | return $valid; | ||
58 | } | ||||
59 | |||||
60 | 30 | 11µs | # spent 998µs (67+931) within JSON::Schema::Modern::Vocabulary::traverse_property_schema which was called 6 times, avg 166µs/call:
# 6 times (67µs+931µs) by JSON::Schema::Modern::Vocabulary::Applicator::_traverse_keyword_patternProperties at line 408 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 166µs/call | ||
61 | 6 | 7µs | 6 | 27µs | return if not assert_keyword_type($state, $schema, 'object'); # spent 27µs making 6 calls to JSON::Schema::Modern::Utilities::assert_keyword_type, avg 4µs/call |
62 | |||||
63 | $state->{evaluator}->_traverse_subschema($schema->{$state->{keyword}}{$property}, | ||||
64 | 6 | 43µs | 12 | 47µs | +{ %$state, schema_path => jsonp($state->{schema_path}, $state->{keyword}, $property) }); # spent 47µs making 6 calls to JSON::Schema::Modern::Utilities::jsonp, avg 8µs/call
# spent 857µs making 6 calls to JSON::Schema::Modern::_traverse_subschema, avg 143µs/call, recursion: max depth 2, sum of overlapping time 857µs |
65 | } | ||||
66 | |||||
67 | 247195 | 69.4ms | # spent 64.4s (258ms+64.1) within JSON::Schema::Modern::Vocabulary::eval which was called 49439 times, avg 1.30ms/call:
# 25474 times (110ms+-110ms) by JSON::Schema::Modern::Vocabulary::Applicator::_eval_keyword_allOf at line 73 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 0s/call
# 10834 times (88.8ms+64.3s) by JSON::Schema::Modern::Vocabulary::Applicator::_eval_keyword_properties at line 385 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 5.94ms/call
# 3002 times (15.6ms+-15.6ms) by JSON::Schema::Modern::Vocabulary::Applicator::_eval_keyword_if at line 148 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 0s/call
# 2345 times (9.69ms+-4.86ms) by JSON::Schema::Modern::Vocabulary::Applicator::_eval_keyword_anyOf at line 95 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 2µs/call
# 2207 times (7.95ms+-7.95ms) by JSON::Schema::Modern::Vocabulary::Applicator::_eval_keyword_if at line 154 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 0s/call
# 1816 times (8.93ms+-8.93ms) by JSON::Schema::Modern::Vocabulary::Applicator::_eval_keyword_additionalProperties at line 464 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 0s/call
# 1410 times (6.83ms+-6.83ms) by JSON::Schema::Modern::Vocabulary::Applicator::_eval_keyword__items_schema at line 314 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 0s/call
# 738 times (3.69ms+-3.69ms) by JSON::Schema::Modern::Vocabulary::Applicator::_eval_keyword_patternProperties at line 427 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 0s/call
# 712 times (2.81ms+-2.81ms) by JSON::Schema::Modern::Vocabulary::Applicator::_eval_keyword_propertyNames at line 488 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 0s/call
# 608 times (2.29ms+-2.29ms) by JSON::Schema::Modern::Vocabulary::Applicator::_eval_keyword_oneOf at line 111 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 0s/call
# 289 times (895µs+-895µs) by JSON::Schema::Modern::Vocabulary::Applicator::_eval_keyword_dependentSchemas at line 167 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 0s/call
# 4 times (14µs+-14µs) by JSON::Schema::Modern::Vocabulary::Applicator::_eval_keyword_not at line 133 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm, avg 0s/call | ||
68 | 49439 | 183ms | 49439 | 0s | $state->{evaluator}->_eval_subschema($data, $schema, $state); # spent 695s making 49439 calls to JSON::Schema::Modern::_eval_subschema, avg 14.1ms/call, recursion: max depth 73, sum of overlapping time 695s |
69 | } | ||||
70 | |||||
71 | 248022 | 41.3ms | # spent 64.4s (1.24+63.1) within JSON::Schema::Modern::Vocabulary::eval_subschema_at_uri which was called 41337 times, avg 1.56ms/call:
# 38781 times (1.16s+63.2s) by JSON::Schema::Modern::Vocabulary::Core::_eval_keyword_ref at line 216 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Core.pm, avg 1.66ms/call
# 2556 times (78.8ms+-78.8ms) by JSON::Schema::Modern::Vocabulary::Core::_eval_keyword_dynamicRef at line 258 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Core.pm, avg 0s/call | ||
72 | 41337 | 73.0ms | 41337 | 16.1s | my $schema_info = $state->{evaluator}->_fetch_from_uri($uri); # spent 16.1s making 41337 calls to JSON::Schema::Modern::_fetch_from_uri, avg 391µs/call |
73 | 41337 | 11.8ms | abort($state, 'EXCEPTION: unable to find resource %s', $uri) if not $schema_info; | ||
74 | |||||
75 | 41337 | 15.0ms | my $vocabularies = $schema_info->{vocabularies}; # reference, not copy | ||
76 | 41337 | 19.0ms | if ($state->{validate_formats}) { | ||
77 | $vocabularies = [ | ||||
78 | map s/^JSON::Schema::Modern::Vocabulary::Format\KAnnotation$/Assertion/r, $state->{vocabularies}->@* | ||||
79 | 41337 | 378ms | 289359 | 41.5ms | ]; # spent 41.5ms making 289359 calls to JSON::Schema::Modern::Vocabulary::CORE:subst, avg 144ns/call |
80 | 41337 | 28.2ms | require JSON::Schema::Modern::Vocabulary::FormatAssertion; | ||
81 | } | ||||
82 | |||||
83 | return $state->{evaluator}->_eval_subschema($data, $schema_info->{schema}, | ||||
84 | +{ | ||||
85 | $schema_info->{configs}->%*, | ||||
86 | %$state, | ||||
87 | traversed_schema_path => $state->{traversed_schema_path}.$state->{schema_path} | ||||
88 | .jsonp('', $state->{keyword}, exists $state->{_schema_path_suffix} | ||||
89 | ? (is_plain_arrayref($state->{_schema_path_suffix}) ? $state->{_schema_path_suffix}->@* : $state->{_schema_path_suffix}) | ||||
90 | : ()), | ||||
91 | initial_schema_uri => $schema_info->{canonical_uri}, | ||||
92 | document => $schema_info->{document}, | ||||
93 | document_path => $schema_info->{document_path}, | ||||
94 | spec_version => $schema_info->{specification_version}, | ||||
95 | 41337 | 678ms | 82674 | 245ms | schema_path => '', # spent 245ms making 41337 calls to JSON::Schema::Modern::Utilities::jsonp, avg 6µs/call
# spent 746s making 41337 calls to JSON::Schema::Modern::_eval_subschema, avg 18.1ms/call, recursion: max depth 74, sum of overlapping time 746s |
96 | vocabularies => $vocabularies, | ||||
97 | }); | ||||
98 | } | ||||
99 | |||||
100 | 1 | 5µs | 1; | ||
101 | 1 | 20µs | 1 | 215µs | __END__ # spent 215µs making 1 call to B::Hooks::EndOfScope::XS::__ANON__[B/Hooks/EndOfScope/XS.pm:26] |
# spent 407µs within JSON::Schema::Modern::Vocabulary::CORE:sort which was called 397 times, avg 1µs/call:
# 397 times (407µs+0s) by JSON::Schema::Modern::Vocabulary::traverse_object_schemas at line 53, avg 1µs/call | |||||
# spent 41.5ms within JSON::Schema::Modern::Vocabulary::CORE:subst which was called 289359 times, avg 144ns/call:
# 289359 times (41.5ms+0s) by JSON::Schema::Modern::Vocabulary::eval_subschema_at_uri at line 79, avg 144ns/call |