← Index
NYTProf Performance Profile   « line view »
For ../prof.pl
  Run on Wed Dec 14 15:57:08 2022
Reported on Wed Dec 14 16:00:37 2022

Filename/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/YAML/PP/Schema/Core.pm
StatementsExecuted 17752 statements in 38.0ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
177131122.8ms22.8msYAML::PP::Schema::Core::::__ANON__[:70]YAML::PP::Schema::Core::__ANON__[:70]
111209µs806µsYAML::PP::Schema::Core::::registerYAML::PP::Schema::Core::register
111121µs121µsYAML::PP::Schema::Core::::CORE:regcompYAML::PP::Schema::Core::CORE:regcomp (opcode)
11146µs50µsModule::Load::::BEGIN@1 Module::Load::BEGIN@1
11136µs40µsYAML::PP::Schema::Core::::BEGIN@12YAML::PP::Schema::Core::BEGIN@12
11117µs77µsYAML::PP::Schema::Core::::BEGIN@14YAML::PP::Schema::Core::BEGIN@14
11117µs118µsYAML::PP::Schema::Core::::BEGIN@7YAML::PP::Schema::Core::BEGIN@7
5518µs8µsYAML::PP::Schema::Core::::CORE:qrYAML::PP::Schema::Core::CORE:qr (opcode)
1116µs55µsModule::Load::::BEGIN@2 Module::Load::BEGIN@2
0000s0sYAML::PP::Schema::Core::::_from_hexYAML::PP::Schema::Core::_from_hex
0000s0sYAML::PP::Schema::Core::::_from_octYAML::PP::Schema::Core::_from_oct
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1242µs254µ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
use strict;
# spent 50µs making 1 call to Module::Load::BEGIN@1 # spent 4µs making 1 call to strict::import
2271µs2104µ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
use warnings;
# spent 55µs making 1 call to Module::Load::BEGIN@2 # spent 49µs making 1 call to warnings::import
3package YAML::PP::Schema::Core;
4
511µsour $VERSION = '0.035'; # VERSION
6
711µ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
use YAML::PP::Schema::JSON qw/
8 represent_int represent_float represent_literal represent_bool
9 represent_undef
101179µs2219µs/;
# spent 118µs making 1 call to YAML::PP::Schema::Core::BEGIN@7 # spent 101µs making 1 call to Exporter::import
11
12276µs244µ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
use B;
# spent 40µs making 1 call to YAML::PP::Schema::Core::BEGIN@12 # spent 4µs making 1 call to B::import
13
142779µs2137µ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
use YAML::PP::Common qw/ YAML_PLAIN_SCALAR_STYLE /;
# spent 77µs making 1 call to YAML::PP::Schema::Core::BEGIN@14 # spent 60µs making 1 call to Exporter::import
15
16114µs14µsmy $RE_INT_CORE = qr{^([+-]?(?:[0-9]+))$};
# spent 4µs making 1 call to YAML::PP::Schema::Core::CORE:qr
1713µs10smy $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
1813µs11µsmy $RE_INT_OCTAL = qr{^0o([0-7]+)$};
# spent 1µs making 1 call to YAML::PP::Schema::Core::CORE:qr
1914µs11µsmy $RE_INT_HEX = qr{^0x([0-9a-fA-F]+)$};
# spent 1µs making 1 call to YAML::PP::Schema::Core::CORE:qr
20
21sub _from_oct { oct $_[2]->[0] }
22sub _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
sub register {
2513µs my ($self, %args) = @_;
2611µs my $schema = $args{schema};
27
28 $schema->add_resolver(
29 tag => 'tag:yaml.org,2002:null',
30 match => [ equals => $_ => undef ],
31110µs5156µ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 ],
35111µs636µ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 ],
3918µs632µ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
4013µs112µ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 );
4412µs17µ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 );
4812µs16µ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 );
5211µs16µ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" ],
5917µs630µ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" ],
6313µs317µ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" ],
6714µs317µ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',
701771436.6ms16µ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
match => [ all => sub { $_[1]->{value} } ],
# spent 6µs making 1 call to YAML::PP::Schema::add_resolver
71 );
72
7311µs my $int_flags = B::SVp_IOK;
7410s my $float_flags = B::SVp_NOK;
7512µs19µ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 );
7911µs13µ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 );
8311µs19µ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,
89123µs23110µ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 /);
931138µs3129µ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
9813µs23µ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 }) {
10011µs19µ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
10714µs return;
108}
109
11017µs1;
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
sub YAML::PP::Schema::Core::CORE:qr; # opcode
# 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
sub YAML::PP::Schema::Core::CORE:regcomp; # opcode