← Index
NYTProf Performance Profile   « line view »
For ../prof.pl
  Run on Wed Dec 14 15:33:55 2022
Reported on Wed Dec 14 15:40:04 2022

Filename/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/YAML/PP/Schema/Core.pm
StatementsExecuted 17752 statements in 35.2ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
177131120.7ms20.7msYAML::PP::Schema::Core::::__ANON__[:70]YAML::PP::Schema::Core::__ANON__[:70]
111167µs754µsYAML::PP::Schema::Core::::registerYAML::PP::Schema::Core::register
11186µs86µsYAML::PP::Schema::Core::::CORE:regcompYAML::PP::Schema::Core::CORE:regcomp (opcode)
11130µs34µsModule::Load::::BEGIN@1 Module::Load::BEGIN@1
11110µs11µsYAML::PP::Schema::Core::::BEGIN@12YAML::PP::Schema::Core::BEGIN@12
1118µs59µsModule::Load::::BEGIN@2 Module::Load::BEGIN@2
1117µs24µsYAML::PP::Schema::Core::::BEGIN@14YAML::PP::Schema::Core::BEGIN@14
1117µs88µsYAML::PP::Schema::Core::::BEGIN@7YAML::PP::Schema::Core::BEGIN@7
5515µs5µsYAML::PP::Schema::Core::::CORE:qrYAML::PP::Schema::Core::CORE:qr (opcode)
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
1236µs238µ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
use strict;
# spent 34µs making 1 call to Module::Load::BEGIN@1 # spent 4µs making 1 call to strict::import
2255µs2110µ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
use warnings;
# spent 59µs making 1 call to Module::Load::BEGIN@2 # spent 51µs making 1 call to warnings::import
3package YAML::PP::Schema::Core;
4
511µsour $VERSION = '0.035'; # VERSION
6
710s
# 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
use YAML::PP::Schema::JSON qw/
8 represent_int represent_float represent_literal represent_bool
9 represent_undef
10126µs2169µs/;
# spent 88µs making 1 call to YAML::PP::Schema::Core::BEGIN@7 # spent 81µs making 1 call to Exporter::import
11
12224µs212µ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
use B;
# spent 11µs making 1 call to YAML::PP::Schema::Core::BEGIN@12 # spent 1µs making 1 call to B::import
13
142586µs241µ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
use YAML::PP::Common qw/ YAML_PLAIN_SCALAR_STYLE /;
# spent 24µs making 1 call to YAML::PP::Schema::Core::BEGIN@14 # spent 17µs making 1 call to Exporter::import
15
1619µs13µsmy $RE_INT_CORE = qr{^([+-]?(?:[0-9]+))$};
# spent 3µs making 1 call to YAML::PP::Schema::Core::CORE:qr
1715µ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
1912µs10smy $RE_INT_HEX = qr{^0x([0-9a-fA-F]+)$};
# spent 0s 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 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
sub register {
2512µs my ($self, %args) = @_;
2610s my $schema = $args{schema};
27
28 $schema->add_resolver(
29 tag => 'tag:yaml.org,2002:null',
30 match => [ equals => $_ => undef ],
3117µs566µ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 ],
3518µs631µ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 ],
3918µs634µ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
4012µs110µ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 );
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µs110µ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 );
5211µs18µ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" ],
5918µs6110µ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" ],
6315µs330µ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" ],
6713µs327µ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',
701771434.3ms19µ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
match => [ all => sub { $_[1]->{value} } ],
# spent 9µs making 1 call to YAML::PP::Schema::add_resolver
71 );
72
7310s my $int_flags = B::SVp_IOK;
7410s my $float_flags = B::SVp_NOK;
7512µs110µ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 );
7911µs16µ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 );
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,
89119µs23116µ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 /);
93198µs396µ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
9811µs21µ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 }) {
10011µs17µ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
10714µs return;
108}
109
11016µs1;
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
sub YAML::PP::Schema::Core::CORE:qr; # opcode
# 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
sub YAML::PP::Schema::Core::CORE:regcomp; # opcode