← Index
NYTProf Performance Profile   « line view »
For ../prof.pl
  Run on Wed Dec 14 16:10:05 2022
Reported on Wed Dec 14 16:12:58 2022

Filename/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/YAML/PP/Schema/Core.pm
StatementsExecuted 17752 statements in 36.5ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
177131123.4ms23.4msYAML::PP::Schema::Core::::__ANON__[:70]YAML::PP::Schema::Core::__ANON__[:70]
111277µs1.02msYAML::PP::Schema::Core::::registerYAML::PP::Schema::Core::register
11194µs94µsYAML::PP::Schema::Core::::CORE:regcompYAML::PP::Schema::Core::CORE:regcomp (opcode)
11149µs55µsModule::Load::::BEGIN@1 Module::Load::BEGIN@1
11122µs24µsYAML::PP::Schema::Core::::BEGIN@12YAML::PP::Schema::Core::BEGIN@12
55116µs16µsYAML::PP::Schema::Core::::CORE:qrYAML::PP::Schema::Core::CORE:qr (opcode)
11116µs83µsModule::Load::::BEGIN@2 Module::Load::BEGIN@2
11111µs106µsYAML::PP::Schema::Core::::BEGIN@7YAML::PP::Schema::Core::BEGIN@7
1116µs30µsYAML::PP::Schema::Core::::BEGIN@14YAML::PP::Schema::Core::BEGIN@14
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
1268µs261µs
# spent 55µs (49+6) within Module::Load::BEGIN@1 which was called: # once (49µs+6µs) by Module::Load::_load at line 1
use strict;
# spent 55µs making 1 call to Module::Load::BEGIN@1 # spent 6µs making 1 call to strict::import
2290µs2150µs
# spent 83µs (16+67) within Module::Load::BEGIN@2 which was called: # once (16µs+67µs) by Module::Load::_load at line 2
use warnings;
# spent 83µs making 1 call to Module::Load::BEGIN@2 # spent 67µs making 1 call to warnings::import
3package YAML::PP::Schema::Core;
4
511µsour $VERSION = '0.035'; # VERSION
6
711µs
# spent 106µs (11+95) within YAML::PP::Schema::Core::BEGIN@7 which was called: # once (11µs+95µ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
10143µs2201µs/;
# spent 106µs making 1 call to YAML::PP::Schema::Core::BEGIN@7 # spent 95µs making 1 call to Exporter::import
11
12232µs226µs
# spent 24µs (22+2) within YAML::PP::Schema::Core::BEGIN@12 which was called: # once (22µs+2µs) by Module::Load::_load at line 12
use B;
# spent 24µs making 1 call to YAML::PP::Schema::Core::BEGIN@12 # spent 2µs making 1 call to B::import
13
142800µs254µs
# spent 30µs (6+24) within YAML::PP::Schema::Core::BEGIN@14 which was called: # once (6µs+24µs) by Module::Load::_load at line 14
use YAML::PP::Common qw/ YAML_PLAIN_SCALAR_STYLE /;
# spent 30µs making 1 call to YAML::PP::Schema::Core::BEGIN@14 # spent 24µs making 1 call to Exporter::import
15
16124µs111µsmy $RE_INT_CORE = qr{^([+-]?(?:[0-9]+))$};
# spent 11µs making 1 call to YAML::PP::Schema::Core::CORE:qr
1713µs11µsmy $RE_FLOAT_CORE = qr{^([+-]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][+-]?[0-9]+)?)$};
# spent 1µs making 1 call to YAML::PP::Schema::Core::CORE:qr
1812µs10smy $RE_INT_OCTAL = qr{^0o([0-7]+)$};
# spent 0s making 1 call to YAML::PP::Schema::Core::CORE:qr
1912µ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 1.02ms (277µs+740µs) within YAML::PP::Schema::Core::register which was called: # once (277µs+740µs) by YAML::PP::Schema::load_subschemas at line 141 of YAML/PP/Schema.pm
sub register {
2514µ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 ],
31112µs5111µs ) for (qw/ null NULL Null ~ /, '');
# spent 111µs making 5 calls to YAML::PP::Schema::add_resolver, avg 22µs/call
32 $schema->add_resolver(
33 tag => 'tag:yaml.org,2002:bool',
34 match => [ equals => $_ => $schema->true ],
35111µs650µs ) for (qw/ true TRUE True /);
# spent 45µs making 3 calls to YAML::PP::Schema::add_resolver, avg 15µs/call # spent 5µs making 3 calls to YAML::PP::Schema::true, avg 2µs/call
36 $schema->add_resolver(
37 tag => 'tag:yaml.org,2002:bool',
38 match => [ equals => $_ => $schema->false ],
39110µs652µs ) for (qw/ false FALSE False /);
# spent 50µs making 3 calls to YAML::PP::Schema::add_resolver, avg 17µs/call # spent 2µs making 3 calls to YAML::PP::Schema::false, avg 667ns/call
4012µs141µs $schema->add_resolver(
# spent 41µ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 );
4414µs122µs $schema->add_resolver(
# spent 22µ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 );
4813µs19µs $schema->add_resolver(
# spent 9µ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 );
5213µs111µs $schema->add_resolver(
# spent 11µ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" ],
59115µs668µs ) for (qw/ .inf .Inf .INF +.inf +.Inf +.INF /);
# spent 68µs making 6 calls to YAML::PP::Schema::add_resolver, avg 11µs/call
60 $schema->add_resolver(
61 tag => 'tag:yaml.org,2002:float',
62 match => [ equals => $_ => 0 - "inf" ],
6315µs329µs ) for (qw/ -.inf -.Inf -.INF /);
# spent 29µ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" ],
6718µs325µs ) for (qw/ .nan .NaN .NAN /);
# spent 25µs making 3 calls to YAML::PP::Schema::add_resolver, avg 8µs/call
68 $schema->add_resolver(
69 tag => 'tag:yaml.org,2002:str',
701771435.1ms111µs
# spent 23.4ms 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 (23.4ms+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 11µs making 1 call to YAML::PP::Schema::add_resolver
71 );
72
7310s my $int_flags = B::SVp_IOK;
7411µs my $float_flags = B::SVp_NOK;
7514µs118µs $schema->add_representer(
# spent 18µs making 1 call to YAML::PP::Schema::add_representer
76 flags => $int_flags,
77 code => \&represent_int,
78 );
7912µ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 );
8312µs113µs $schema->add_representer(
# spent 13µ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,
89134µs23167µs ) for ("", qw/
# spent 167µs making 23 calls to YAML::PP::Schema::add_representer, avg 7µ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 /);
931110µs3103µs $schema->add_representer(
# spent 94µs making 1 call to YAML::PP::Schema::Core::CORE:regcomp # spent 6µs making 1 call to YAML::PP::Schema::add_representer # spent 3µ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
9814µ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µs14µs $schema->add_representer(
# spent 4µs making 1 call to YAML::PP::Schema::add_representer
101 class_equals => $class,
102 code => \&represent_bool,
103 );
104 }
105 }
106
10715µs return;
108}
109
110116µs1;
111
112__END__
 
# spent 16µs within YAML::PP::Schema::Core::CORE:qr which was called 5 times, avg 3µs/call: # once (11µs+0s) by Module::Load::_load at line 16 # once (3µ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 17 # once (0s+0s) by Module::Load::_load at line 18
sub YAML::PP::Schema::Core::CORE:qr; # opcode
# spent 94µs within YAML::PP::Schema::Core::CORE:regcomp which was called: # once (94µs+0s) by YAML::PP::Schema::Core::register at line 93
sub YAML::PP::Schema::Core::CORE:regcomp; # opcode