← 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/FormatAnnotation.pm
StatementsExecuted 337 statements in 710µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
5011249µs660µsJSON::Schema::Modern::Vocabulary::FormatAnnotation::::_traverse_keyword_formatJSON::Schema::Modern::Vocabulary::FormatAnnotation::_traverse_keyword_format
11150µs55µsModule::Runtime::::BEGIN@1.315 Module::Runtime::BEGIN@1.315
11117µs674µsJSON::Schema::Modern::Vocabulary::FormatAnnotation::::BEGIN@11JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@11
11113µs29µsJSON::Schema::Modern::Vocabulary::FormatAnnotation::::BEGIN@14JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@14
11111µs20µsJSON::Schema::Modern::Vocabulary::FormatAnnotation::::BEGIN@15JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@15
11110µs31µsJSON::Schema::Modern::Vocabulary::FormatAnnotation::::BEGIN@13JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@13
1119µs9µsJSON::Schema::Modern::Vocabulary::FormatAnnotation::::BEGIN@9JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@9
1118µs94µsJSON::Schema::Modern::Vocabulary::FormatAnnotation::::BEGIN@12JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@12
1117µs247µsJSON::Schema::Modern::Vocabulary::FormatAnnotation::::BEGIN@10JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@10
1116µs15µsJSON::Schema::Modern::Vocabulary::FormatAnnotation::::BEGIN@16JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@16
1116µs44µsModule::Runtime::::BEGIN@2.316 Module::Runtime::BEGIN@2.316
1115µs39µsJSON::Schema::Modern::Vocabulary::FormatAnnotation::::BEGIN@17JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@17
1115µs22µsJSON::Schema::Modern::Vocabulary::FormatAnnotation::::BEGIN@18JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@18
1114µs145µsJSON::Schema::Modern::Vocabulary::FormatAnnotation::::BEGIN@19JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@19
5112µs2µsJSON::Schema::Modern::Vocabulary::FormatAnnotation::::evaluation_orderJSON::Schema::Modern::Vocabulary::FormatAnnotation::evaluation_order
1112µs2µsJSON::Schema::Modern::Vocabulary::FormatAnnotation::::keywordsJSON::Schema::Modern::Vocabulary::FormatAnnotation::keywords
1111µs1µsJSON::Schema::Modern::Vocabulary::FormatAnnotation::::vocabularyJSON::Schema::Modern::Vocabulary::FormatAnnotation::vocabulary
0000s0sJSON::Schema::Modern::Vocabulary::FormatAnnotation::::_eval_keyword_formatJSON::Schema::Modern::Vocabulary::FormatAnnotation::_eval_keyword_format
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1248µs260µs
# spent 55µs (50+5) within Module::Runtime::BEGIN@1.315 which was called: # once (50µs+5µs) by Module::Runtime::require_module at line 1
use strict;
# spent 55µs making 1 call to Module::Runtime::BEGIN@1.315 # spent 5µs making 1 call to strict::import
2244µs282µs
# spent 44µs (6+38) within Module::Runtime::BEGIN@2.316 which was called: # once (6µs+38µs) by Module::Runtime::require_module at line 2
use warnings;
# spent 44µs making 1 call to Module::Runtime::BEGIN@2.316 # spent 38µs making 1 call to warnings::import
3package JSON::Schema::Modern::Vocabulary::FormatAnnotation;
4# vim: set ts=8 sts=2 sw=2 tw=100 et :
5# ABSTRACT: Implementation of the JSON Schema Format-Annotation vocabulary
6
710sour $VERSION = '0.559';
8
9227µs19µs
# spent 9µs within JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@9 which was called: # once (9µs+0s) by Module::Runtime::require_module at line 9
use 5.020;
10231µs2487µs
# spent 247µs (7+240) within JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@10 which was called: # once (7µs+240µs) by Module::Runtime::require_module at line 10
use Moo;
# spent 247µs making 1 call to JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@10 # spent 240µs making 1 call to Moo::import
11328µs31.33ms
# spent 674µs (17+657) within JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@11 which was called: # once (17µs+657µs) by Module::Runtime::require_module at line 11
use strictures 2;
# spent 674µs making 1 call to JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@11 # spent 643µs making 1 call to strictures::import # spent 14µs making 1 call to strictures::VERSION
12231µs2180µs
# spent 94µs (8+86) within JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@12 which was called: # once (8µs+86µs) by Module::Runtime::require_module at line 12
use experimental qw(signatures postderef);
# spent 94µs making 1 call to JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@12 # spent 86µs making 1 call to experimental::import
13220µs234µs
# spent 31µs (10+21) within JSON::Schema::Modern::Vocabulary::FormatAnnotation::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::FormatAnnotation::BEGIN@13 # spent 3µs making 1 call to if::import
14217µs231µs
# spent 29µs (13+16) within JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@14 which was called: # once (13µs+16µs) by Module::Runtime::require_module at line 14
no if "$]" >= 5.031009, feature => 'indirect';
# spent 29µs making 1 call to JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@14 # spent 2µs making 1 call to if::unimport
15217µs220µs
# spent 20µs (11+9) within JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@15 which was called: # once (11µs+9µs) by Module::Runtime::require_module at line 15
no if "$]" >= 5.033001, feature => 'multidimensional';
# spent 20µs making 1 call to JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@15 # spent 0s making 1 call to if::unimport
16218µs215µs
# spent 15µs (6+9) within JSON::Schema::Modern::Vocabulary::FormatAnnotation::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::FormatAnnotation::BEGIN@16 # spent 0s making 1 call to if::unimport
17215µs273µs
# spent 39µs (5+34) within JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@17 which was called: # once (5µs+34µs) by Module::Runtime::require_module at line 17
use JSON::Schema::Modern::Utilities qw(is_type E A assert_keyword_type);
# spent 39µs making 1 call to JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@17 # spent 34µs making 1 call to Exporter::import
18213µs239µs
# spent 22µs (5+17) within JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@18 which was called: # once (5µs+17µs) by Module::Runtime::require_module at line 18
use Feature::Compat::Try;
# spent 22µs making 1 call to JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@18 # spent 17µs making 1 call to Feature::Compat::Try::import
192184µs2286µs
# spent 145µs (4+141) within JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@19 which was called: # once (4µs+141µs) by Module::Runtime::require_module at line 19
use namespace::clean;
# spent 145µs making 1 call to JSON::Schema::Modern::Vocabulary::FormatAnnotation::BEGIN@19 # spent 141µs making 1 call to namespace::clean::import
20
2111µs1307µswith 'JSON::Schema::Modern::Vocabulary';
# spent 307µs making 1 call to Moo::with
22
23
# spent 1µs within JSON::Schema::Modern::Vocabulary::FormatAnnotation::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 {
2412µs 'https://json-schema.org/draft/2019-09/vocab/format' => 'draft2019-09',
25 'https://json-schema.org/draft/2020-12/vocab/format-annotation' => 'draft2020-12';
26}
27
2855µs
# spent 2µs within JSON::Schema::Modern::Vocabulary::FormatAnnotation::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 337 of /Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern/Vocabulary/Core.pm, avg 400ns/call
sub evaluation_order { 3 }
29
30
# spent 2µs within JSON::Schema::Modern::Vocabulary::FormatAnnotation::keywords which was called: # once (2µ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 {
3112µs qw(format);
32}
33
3420065µs
# spent 660µs (249+411) within JSON::Schema::Modern::Vocabulary::FormatAnnotation::_traverse_keyword_format which was called 50 times, avg 13µs/call: # 50 times (249µs+411µ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_format ($self, $schema, $state) {
355042µs50411µs return if not assert_keyword_type($state, $schema, 'string');
# spent 411µs making 50 calls to JSON::Schema::Modern::Utilities::assert_keyword_type, avg 8µs/call
365082µs return 1;
37}
38
39sub _eval_keyword_format ($self, $data, $schema, $state) {
40 return A($state, $schema->{format});
41}
42
4313µs1;
44115µs1218µs__END__