Filename | /Users/ether/.perlbrew/libs/36.0@std/lib/perl5/YAML/PP/Schema/Core.pm |
Statements | Executed 17752 statements in 38.0ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
17713 | 1 | 1 | 22.8ms | 22.8ms | __ANON__[:70] | YAML::PP::Schema::Core::
1 | 1 | 1 | 209µs | 806µs | register | YAML::PP::Schema::Core::
1 | 1 | 1 | 121µs | 121µs | CORE:regcomp (opcode) | YAML::PP::Schema::Core::
1 | 1 | 1 | 46µs | 50µs | BEGIN@1 | Module::Load::
1 | 1 | 1 | 36µs | 40µs | BEGIN@12 | YAML::PP::Schema::Core::
1 | 1 | 1 | 17µs | 77µs | BEGIN@14 | YAML::PP::Schema::Core::
1 | 1 | 1 | 17µs | 118µs | BEGIN@7 | YAML::PP::Schema::Core::
5 | 5 | 1 | 8µs | 8µs | CORE:qr (opcode) | YAML::PP::Schema::Core::
1 | 1 | 1 | 6µs | 55µs | BEGIN@2 | Module::Load::
0 | 0 | 0 | 0s | 0s | _from_hex | YAML::PP::Schema::Core::
0 | 0 | 0 | 0s | 0s | _from_oct | YAML::PP::Schema::Core::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | 2 | 42µs | 2 | 54µs | # spent 50µs (46+4) within Module::Load::BEGIN@1 which was called:
# once (46µs+4µs) by Module::Load::_load at line 1 # spent 50µs making 1 call to Module::Load::BEGIN@1
# spent 4µs making 1 call to strict::import |
2 | 2 | 71µs | 2 | 104µs | # spent 55µs (6+49) within Module::Load::BEGIN@2 which was called:
# once (6µs+49µs) by Module::Load::_load at line 2 # spent 55µs making 1 call to Module::Load::BEGIN@2
# spent 49µs making 1 call to warnings::import |
3 | package YAML::PP::Schema::Core; | ||||
4 | |||||
5 | 1 | 1µs | our $VERSION = '0.035'; # VERSION | ||
6 | |||||
7 | 1 | 1µs | # spent 118µs (17+101) within YAML::PP::Schema::Core::BEGIN@7 which was called:
# once (17µs+101µs) by Module::Load::_load at line 10 | ||
8 | represent_int represent_float represent_literal represent_bool | ||||
9 | represent_undef | ||||
10 | 1 | 179µs | 2 | 219µs | /; # spent 118µs making 1 call to YAML::PP::Schema::Core::BEGIN@7
# spent 101µs making 1 call to Exporter::import |
11 | |||||
12 | 2 | 76µs | 2 | 44µs | # spent 40µs (36+4) within YAML::PP::Schema::Core::BEGIN@12 which was called:
# once (36µs+4µs) by Module::Load::_load at line 12 # spent 40µs making 1 call to YAML::PP::Schema::Core::BEGIN@12
# spent 4µs making 1 call to B::import |
13 | |||||
14 | 2 | 779µs | 2 | 137µs | # spent 77µs (17+60) within YAML::PP::Schema::Core::BEGIN@14 which was called:
# once (17µs+60µs) by Module::Load::_load at line 14 # spent 77µs making 1 call to YAML::PP::Schema::Core::BEGIN@14
# spent 60µs making 1 call to Exporter::import |
15 | |||||
16 | 1 | 14µs | 1 | 4µs | my $RE_INT_CORE = qr{^([+-]?(?:[0-9]+))$}; # spent 4µs making 1 call to YAML::PP::Schema::Core::CORE:qr |
17 | 1 | 3µs | 1 | 0s | my $RE_FLOAT_CORE = qr{^([+-]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][+-]?[0-9]+)?)$}; # spent 0s making 1 call to YAML::PP::Schema::Core::CORE:qr |
18 | 1 | 3µs | 1 | 1µs | my $RE_INT_OCTAL = qr{^0o([0-7]+)$}; # spent 1µs making 1 call to YAML::PP::Schema::Core::CORE:qr |
19 | 1 | 4µs | 1 | 1µs | my $RE_INT_HEX = qr{^0x([0-9a-fA-F]+)$}; # spent 1µs making 1 call to YAML::PP::Schema::Core::CORE:qr |
20 | |||||
21 | sub _from_oct { oct $_[2]->[0] } | ||||
22 | sub _from_hex { hex $_[2]->[0] } | ||||
23 | |||||
24 | # spent 806µs (209+597) within YAML::PP::Schema::Core::register which was called:
# once (209µs+597µs) by YAML::PP::Schema::load_subschemas at line 141 of YAML/PP/Schema.pm | ||||
25 | 1 | 3µs | my ($self, %args) = @_; | ||
26 | 1 | 1µs | my $schema = $args{schema}; | ||
27 | |||||
28 | $schema->add_resolver( | ||||
29 | tag => 'tag:yaml.org,2002:null', | ||||
30 | match => [ equals => $_ => undef ], | ||||
31 | 1 | 10µs | 5 | 156µs | ) for (qw/ null NULL Null ~ /, ''); # spent 156µs making 5 calls to YAML::PP::Schema::add_resolver, avg 31µs/call |
32 | $schema->add_resolver( | ||||
33 | tag => 'tag:yaml.org,2002:bool', | ||||
34 | match => [ equals => $_ => $schema->true ], | ||||
35 | 1 | 11µs | 6 | 36µs | ) for (qw/ true TRUE True /); # spent 28µs making 3 calls to YAML::PP::Schema::add_resolver, avg 9µs/call
# spent 8µs making 3 calls to YAML::PP::Schema::true, avg 3µs/call |
36 | $schema->add_resolver( | ||||
37 | tag => 'tag:yaml.org,2002:bool', | ||||
38 | match => [ equals => $_ => $schema->false ], | ||||
39 | 1 | 8µs | 6 | 32µs | ) for (qw/ false FALSE False /); # spent 30µs making 3 calls to YAML::PP::Schema::add_resolver, avg 10µs/call
# spent 2µs making 3 calls to YAML::PP::Schema::false, avg 667ns/call |
40 | 1 | 3µs | 1 | 12µs | $schema->add_resolver( # spent 12µs making 1 call to YAML::PP::Schema::add_resolver |
41 | tag => 'tag:yaml.org,2002:int', | ||||
42 | match => [ regex => $RE_INT_CORE => \&YAML::PP::Schema::JSON::_to_int ], | ||||
43 | ); | ||||
44 | 1 | 2µs | 1 | 7µs | $schema->add_resolver( # spent 7µs making 1 call to YAML::PP::Schema::add_resolver |
45 | tag => 'tag:yaml.org,2002:int', | ||||
46 | match => [ regex => $RE_INT_OCTAL => \&_from_oct ], | ||||
47 | ); | ||||
48 | 1 | 2µs | 1 | 6µs | $schema->add_resolver( # spent 6µs making 1 call to YAML::PP::Schema::add_resolver |
49 | tag => 'tag:yaml.org,2002:int', | ||||
50 | match => [ regex => $RE_INT_HEX => \&_from_hex ], | ||||
51 | ); | ||||
52 | 1 | 1µs | 1 | 6µs | $schema->add_resolver( # spent 6µs making 1 call to YAML::PP::Schema::add_resolver |
53 | tag => 'tag:yaml.org,2002:float', | ||||
54 | match => [ regex => $RE_FLOAT_CORE => \&YAML::PP::Schema::JSON::_to_float ], | ||||
55 | ); | ||||
56 | $schema->add_resolver( | ||||
57 | tag => 'tag:yaml.org,2002:float', | ||||
58 | match => [ equals => $_ => 0 + "inf" ], | ||||
59 | 1 | 7µs | 6 | 30µs | ) for (qw/ .inf .Inf .INF +.inf +.Inf +.INF /); # spent 30µs making 6 calls to YAML::PP::Schema::add_resolver, avg 5µs/call |
60 | $schema->add_resolver( | ||||
61 | tag => 'tag:yaml.org,2002:float', | ||||
62 | match => [ equals => $_ => 0 - "inf" ], | ||||
63 | 1 | 3µs | 3 | 17µs | ) for (qw/ -.inf -.Inf -.INF /); # spent 17µs making 3 calls to YAML::PP::Schema::add_resolver, avg 6µs/call |
64 | $schema->add_resolver( | ||||
65 | tag => 'tag:yaml.org,2002:float', | ||||
66 | match => [ equals => $_ => 0 + "nan" ], | ||||
67 | 1 | 4µs | 3 | 17µs | ) for (qw/ .nan .NaN .NAN /); # spent 17µs making 3 calls to YAML::PP::Schema::add_resolver, avg 6µs/call |
68 | $schema->add_resolver( | ||||
69 | tag => 'tag:yaml.org,2002:str', | ||||
70 | 17714 | 36.6ms | 1 | 6µs | # spent 22.8ms within YAML::PP::Schema::Core::__ANON__[/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/YAML/PP/Schema/Core.pm:70] which was called 17713 times, avg 1µs/call:
# 17713 times (22.8ms+0s) by YAML::PP::Schema::load_scalar at line 348 of YAML/PP/Schema.pm, avg 1µs/call # spent 6µs making 1 call to YAML::PP::Schema::add_resolver |
71 | ); | ||||
72 | |||||
73 | 1 | 1µs | my $int_flags = B::SVp_IOK; | ||
74 | 1 | 0s | my $float_flags = B::SVp_NOK; | ||
75 | 1 | 2µs | 1 | 9µs | $schema->add_representer( # spent 9µs making 1 call to YAML::PP::Schema::add_representer |
76 | flags => $int_flags, | ||||
77 | code => \&represent_int, | ||||
78 | ); | ||||
79 | 1 | 1µs | 1 | 3µs | $schema->add_representer( # spent 3µs making 1 call to YAML::PP::Schema::add_representer |
80 | flags => $float_flags, | ||||
81 | code => \&represent_float, | ||||
82 | ); | ||||
83 | 1 | 1µs | 1 | 9µs | $schema->add_representer( # spent 9µs making 1 call to YAML::PP::Schema::add_representer |
84 | undefined => \&represent_undef, | ||||
85 | ); | ||||
86 | $schema->add_representer( | ||||
87 | equals => $_, | ||||
88 | code => \&represent_literal, | ||||
89 | 1 | 23µs | 23 | 110µs | ) for ("", qw/ # spent 110µs making 23 calls to YAML::PP::Schema::add_representer, avg 5µs/call |
90 | true TRUE True false FALSE False null NULL Null ~ | ||||
91 | .inf .Inf .INF +.inf +.Inf +.INF -.inf -.Inf -.INF .nan .NaN .NAN | ||||
92 | /); | ||||
93 | 1 | 138µs | 3 | 129µs | $schema->add_representer( # spent 121µs making 1 call to YAML::PP::Schema::Core::CORE:regcomp
# spent 6µs making 1 call to YAML::PP::Schema::add_representer
# spent 2µs making 1 call to YAML::PP::Schema::Core::CORE:qr |
94 | regex => qr{$RE_INT_CORE|$RE_FLOAT_CORE|$RE_INT_OCTAL|$RE_INT_HEX}, | ||||
95 | code => \&represent_literal, | ||||
96 | ); | ||||
97 | |||||
98 | 1 | 3µs | 2 | 3µs | if ($schema->bool_class) { # spent 3µs making 2 calls to YAML::PP::Schema::bool_class, avg 2µs/call |
99 | for my $class (@{ $schema->bool_class }) { | ||||
100 | 1 | 1µs | 1 | 9µs | $schema->add_representer( # spent 9µs making 1 call to YAML::PP::Schema::add_representer |
101 | class_equals => $class, | ||||
102 | code => \&represent_bool, | ||||
103 | ); | ||||
104 | } | ||||
105 | } | ||||
106 | |||||
107 | 1 | 4µs | return; | ||
108 | } | ||||
109 | |||||
110 | 1 | 7µs | 1; | ||
111 | |||||
112 | __END__ | ||||
# spent 8µs within YAML::PP::Schema::Core::CORE:qr which was called 5 times, avg 2µs/call:
# once (4µs+0s) by Module::Load::_load at line 16
# once (2µs+0s) by YAML::PP::Schema::Core::register at line 93
# once (1µs+0s) by Module::Load::_load at line 19
# once (1µs+0s) by Module::Load::_load at line 18
# once (0s+0s) by Module::Load::_load at line 17 | |||||
# spent 121µs within YAML::PP::Schema::Core::CORE:regcomp which was called:
# once (121µs+0s) by YAML::PP::Schema::Core::register at line 93 |