| Filename | /Users/ether/.perlbrew/libs/36.0@std/lib/perl5/YAML/PP/Schema/Core.pm |
| Statements | Executed 17752 statements in 35.2ms |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 17713 | 1 | 1 | 20.7ms | 20.7ms | YAML::PP::Schema::Core::__ANON__[:70] |
| 1 | 1 | 1 | 167µs | 754µs | YAML::PP::Schema::Core::register |
| 1 | 1 | 1 | 86µs | 86µs | YAML::PP::Schema::Core::CORE:regcomp (opcode) |
| 1 | 1 | 1 | 30µs | 34µs | Module::Load::BEGIN@1 |
| 1 | 1 | 1 | 10µs | 11µs | YAML::PP::Schema::Core::BEGIN@12 |
| 1 | 1 | 1 | 8µs | 59µs | Module::Load::BEGIN@2 |
| 1 | 1 | 1 | 7µs | 24µs | YAML::PP::Schema::Core::BEGIN@14 |
| 1 | 1 | 1 | 7µs | 88µs | YAML::PP::Schema::Core::BEGIN@7 |
| 5 | 5 | 1 | 5µs | 5µs | YAML::PP::Schema::Core::CORE:qr (opcode) |
| 0 | 0 | 0 | 0s | 0s | YAML::PP::Schema::Core::_from_hex |
| 0 | 0 | 0 | 0s | 0s | YAML::PP::Schema::Core::_from_oct |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | 2 | 36µs | 2 | 38µs | # spent 34µs (30+4) within Module::Load::BEGIN@1 which was called:
# once (30µs+4µs) by Module::Load::_load at line 1 # spent 34µs making 1 call to Module::Load::BEGIN@1
# spent 4µs making 1 call to strict::import |
| 2 | 2 | 55µs | 2 | 110µs | # spent 59µs (8+51) within Module::Load::BEGIN@2 which was called:
# once (8µs+51µs) by Module::Load::_load at line 2 # spent 59µs making 1 call to Module::Load::BEGIN@2
# spent 51µ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 | 0s | # spent 88µs (7+81) within YAML::PP::Schema::Core::BEGIN@7 which was called:
# once (7µs+81µs) by Module::Load::_load at line 10 | ||
| 8 | represent_int represent_float represent_literal represent_bool | ||||
| 9 | represent_undef | ||||
| 10 | 1 | 26µs | 2 | 169µs | /; # spent 88µs making 1 call to YAML::PP::Schema::Core::BEGIN@7
# spent 81µs making 1 call to Exporter::import |
| 11 | |||||
| 12 | 2 | 24µs | 2 | 12µs | # spent 11µs (10+1000ns) within YAML::PP::Schema::Core::BEGIN@12 which was called:
# once (10µs+1000ns) by Module::Load::_load at line 12 # spent 11µs making 1 call to YAML::PP::Schema::Core::BEGIN@12
# spent 1µs making 1 call to B::import |
| 13 | |||||
| 14 | 2 | 586µs | 2 | 41µs | # spent 24µs (7+17) within YAML::PP::Schema::Core::BEGIN@14 which was called:
# once (7µs+17µs) by Module::Load::_load at line 14 # spent 24µs making 1 call to YAML::PP::Schema::Core::BEGIN@14
# spent 17µs making 1 call to Exporter::import |
| 15 | |||||
| 16 | 1 | 9µs | 1 | 3µs | my $RE_INT_CORE = qr{^([+-]?(?:[0-9]+))$}; # spent 3µs making 1 call to YAML::PP::Schema::Core::CORE:qr |
| 17 | 1 | 5µ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 | 2µs | 1 | 0s | my $RE_INT_HEX = qr{^0x([0-9a-fA-F]+)$}; # spent 0s 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 754µs (167+587) within YAML::PP::Schema::Core::register which was called:
# once (167µs+587µs) by YAML::PP::Schema::load_subschemas at line 141 of YAML/PP/Schema.pm | ||||
| 25 | 1 | 2µs | my ($self, %args) = @_; | ||
| 26 | 1 | 0s | my $schema = $args{schema}; | ||
| 27 | |||||
| 28 | $schema->add_resolver( | ||||
| 29 | tag => 'tag:yaml.org,2002:null', | ||||
| 30 | match => [ equals => $_ => undef ], | ||||
| 31 | 1 | 7µs | 5 | 66µs | ) for (qw/ null NULL Null ~ /, ''); # spent 66µs making 5 calls to YAML::PP::Schema::add_resolver, avg 13µs/call |
| 32 | $schema->add_resolver( | ||||
| 33 | tag => 'tag:yaml.org,2002:bool', | ||||
| 34 | match => [ equals => $_ => $schema->true ], | ||||
| 35 | 1 | 8µs | 6 | 31µs | ) for (qw/ true TRUE True /); # spent 28µs making 3 calls to YAML::PP::Schema::add_resolver, avg 9µs/call
# spent 3µs making 3 calls to YAML::PP::Schema::true, avg 1µs/call |
| 36 | $schema->add_resolver( | ||||
| 37 | tag => 'tag:yaml.org,2002:bool', | ||||
| 38 | match => [ equals => $_ => $schema->false ], | ||||
| 39 | 1 | 8µs | 6 | 34µs | ) for (qw/ false FALSE False /); # spent 30µs making 3 calls to YAML::PP::Schema::add_resolver, avg 10µs/call
# spent 4µs making 3 calls to YAML::PP::Schema::false, avg 1µs/call |
| 40 | 1 | 2µs | 1 | 10µs | $schema->add_resolver( # spent 10µ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 | 10µs | $schema->add_resolver( # spent 10µ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 | 8µs | $schema->add_resolver( # spent 8µ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 | 8µs | 6 | 110µs | ) for (qw/ .inf .Inf .INF +.inf +.Inf +.INF /); # spent 110µs making 6 calls to YAML::PP::Schema::add_resolver, avg 18µs/call |
| 60 | $schema->add_resolver( | ||||
| 61 | tag => 'tag:yaml.org,2002:float', | ||||
| 62 | match => [ equals => $_ => 0 - "inf" ], | ||||
| 63 | 1 | 5µs | 3 | 30µs | ) for (qw/ -.inf -.Inf -.INF /); # spent 30µs making 3 calls to YAML::PP::Schema::add_resolver, avg 10µs/call |
| 64 | $schema->add_resolver( | ||||
| 65 | tag => 'tag:yaml.org,2002:float', | ||||
| 66 | match => [ equals => $_ => 0 + "nan" ], | ||||
| 67 | 1 | 3µs | 3 | 27µs | ) for (qw/ .nan .NaN .NAN /); # spent 27µs making 3 calls to YAML::PP::Schema::add_resolver, avg 9µs/call |
| 68 | $schema->add_resolver( | ||||
| 69 | tag => 'tag:yaml.org,2002:str', | ||||
| 70 | 17714 | 34.3ms | 1 | 9µs | # spent 20.7ms 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 (20.7ms+0s) by YAML::PP::Schema::load_scalar at line 348 of YAML/PP/Schema.pm, avg 1µs/call # spent 9µs making 1 call to YAML::PP::Schema::add_resolver |
| 71 | ); | ||||
| 72 | |||||
| 73 | 1 | 0s | my $int_flags = B::SVp_IOK; | ||
| 74 | 1 | 0s | my $float_flags = B::SVp_NOK; | ||
| 75 | 1 | 2µs | 1 | 10µs | $schema->add_representer( # spent 10µs making 1 call to YAML::PP::Schema::add_representer |
| 76 | flags => $int_flags, | ||||
| 77 | code => \&represent_int, | ||||
| 78 | ); | ||||
| 79 | 1 | 1µs | 1 | 6µs | $schema->add_representer( # spent 6µ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 | 19µs | 23 | 116µs | ) for ("", qw/ # spent 116µ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 | 98µs | 3 | 96µs | $schema->add_representer( # spent 86µs making 1 call to YAML::PP::Schema::Core::CORE:regcomp
# spent 9µs making 1 call to YAML::PP::Schema::add_representer
# spent 1µ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 | 1µs | 2 | 1µs | if ($schema->bool_class) { # spent 1µs making 2 calls to YAML::PP::Schema::bool_class, avg 500ns/call |
| 99 | for my $class (@{ $schema->bool_class }) { | ||||
| 100 | 1 | 1µs | 1 | 7µs | $schema->add_representer( # spent 7µ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 | 6µs | 1; | ||
| 111 | |||||
| 112 | __END__ | ||||
# spent 5µs within YAML::PP::Schema::Core::CORE:qr which was called 5 times, avg 1µs/call:
# once (3µs+0s) by Module::Load::_load at line 16
# once (1µs+0s) by Module::Load::_load at line 18
# once (1µs+0s) by YAML::PP::Schema::Core::register at line 93
# once (0s+0s) by Module::Load::_load at line 19
# once (0s+0s) by Module::Load::_load at line 17 | |||||
# spent 86µs within YAML::PP::Schema::Core::CORE:regcomp which was called:
# once (86µs+0s) by YAML::PP::Schema::Core::register at line 93 |