← 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/Writer/File.pm
StatementsExecuted 12 statements in 467µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11135µs39µsYAML::PP::Dumper::::BEGIN@1.298 YAML::PP::Dumper::BEGIN@1.298
11116µs59µsYAML::PP::Writer::File::::BEGIN@7YAML::PP::Writer::File::BEGIN@7
11113µs82µsYAML::PP::Writer::File::::BEGIN@9YAML::PP::Writer::File::BEGIN@9
1119µs50µsYAML::PP::Dumper::::BEGIN@2.299 YAML::PP::Dumper::BEGIN@2.299
1118µs33µsYAML::PP::Writer::File::::BEGIN@11YAML::PP::Writer::File::BEGIN@11
0000s0sYAML::PP::Writer::File::::_open_handleYAML::PP::Writer::File::_open_handle
0000s0sYAML::PP::Writer::File::::finishYAML::PP::Writer::File::finish
0000s0sYAML::PP::Writer::File::::initYAML::PP::Writer::File::init
0000s0sYAML::PP::Writer::File::::writeYAML::PP::Writer::File::write
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1239µs243µs
# spent 39µs (35+4) within YAML::PP::Dumper::BEGIN@1.298 which was called: # once (35µs+4µs) by YAML::PP::Dumper::BEGIN@12 at line 1
use strict;
# spent 39µs making 1 call to YAML::PP::Dumper::BEGIN@1.298 # spent 4µs making 1 call to strict::import
2258µs291µs
# spent 50µs (9+41) within YAML::PP::Dumper::BEGIN@2.299 which was called: # once (9µs+41µs) by YAML::PP::Dumper::BEGIN@12 at line 2
use warnings;
# spent 50µs making 1 call to YAML::PP::Dumper::BEGIN@2.299 # spent 41µs making 1 call to warnings::import
3package YAML::PP::Writer::File;
4
510sour $VERSION = '0.035'; # VERSION
6
7245µs2102µs
# spent 59µs (16+43) within YAML::PP::Writer::File::BEGIN@7 which was called: # once (16µs+43µs) by YAML::PP::Dumper::BEGIN@12 at line 7
use Scalar::Util qw/ openhandle /;
# spent 59µs making 1 call to YAML::PP::Writer::File::BEGIN@7 # spent 43µs making 1 call to Exporter::import
8
9232µs2151µs
# spent 82µs (13+69) within YAML::PP::Writer::File::BEGIN@9 which was called: # once (13µs+69µs) by YAML::PP::Dumper::BEGIN@12 at line 9
use base qw/ YAML::PP::Writer /;
# spent 82µs making 1 call to YAML::PP::Writer::File::BEGIN@9 # spent 69µs making 1 call to base::import
10
112290µs258µs
# spent 33µs (8+25) within YAML::PP::Writer::File::BEGIN@11 which was called: # once (8µs+25µs) by YAML::PP::Dumper::BEGIN@12 at line 11
use Carp qw/ croak /;
# spent 33µs making 1 call to YAML::PP::Writer::File::BEGIN@11 # spent 25µs making 1 call to Exporter::import
12
13sub _open_handle {
14 my ($self) = @_;
15 if (openhandle($self->{output})) {
16 $self->{filehandle} = $self->{output};
17 return $self->{output};
18 }
19 open my $fh, '>:encoding(UTF-8)', $self->{output}
20 or croak "Could not open '$self->{output}' for writing: $!";
21 $self->{filehandle} = $fh;
22 return $fh;
23}
24
25sub write {
26 my ($self, $line) = @_;
27 my $fh = $self->{filehandle};
28 print $fh $line;
29}
30
31sub init {
32 my ($self) = @_;
33 my $fh = $self->_open_handle;
34}
35
36sub finish {
37 my ($self) = @_;
38 if (openhandle($self->{output})) {
39 # Original argument was a file handle, so the caller needs
40 # to close it
41 return;
42 }
43 close $self->{filehandle};
44}
45
4613µs1;
47
48__END__