← Index
NYTProf Performance Profile   « line view »
For script/ponapi
  Run on Wed Feb 10 15:51:26 2016
Reported on Thu Feb 11 09:43:10 2016

Filename/usr/local/share/perl/5.18.2/Stream/Buffered/Auto.pm
StatementsExecuted 7 statements in 196µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
1118µs17µsStream::Buffered::Auto::::BEGIN@2Stream::Buffered::Auto::BEGIN@2
1117µs12µsStream::Buffered::Auto::::BEGIN@3Stream::Buffered::Auto::BEGIN@3
1116µs56µsStream::Buffered::Auto::::BEGIN@4Stream::Buffered::Auto::BEGIN@4
0000s0sStream::Buffered::Auto::::newStream::Buffered::Auto::new
0000s0sStream::Buffered::Auto::::printStream::Buffered::Auto::print
0000s0sStream::Buffered::Auto::::rewindStream::Buffered::Auto::rewind
0000s0sStream::Buffered::Auto::::sizeStream::Buffered::Auto::size
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Stream::Buffered::Auto;
2220µs226µs
# spent 17µs (8+9) within Stream::Buffered::Auto::BEGIN@2 which was called: # once (8µs+9µs) by Stream::Buffered::BEGIN@6 at line 2
use strict;
# spent 17µs making 1 call to Stream::Buffered::Auto::BEGIN@2 # spent 9µs making 1 call to strict::import
3227µs216µs
# spent 12µs (7+4) within Stream::Buffered::Auto::BEGIN@3 which was called: # once (7µs+4µs) by Stream::Buffered::BEGIN@6 at line 3
use warnings;
# spent 12µs making 1 call to Stream::Buffered::Auto::BEGIN@3 # spent 4µs making 1 call to warnings::import
42148µs2107µs
# spent 56µs (6+51) within Stream::Buffered::Auto::BEGIN@4 which was called: # once (6µs+51µs) by Stream::Buffered::BEGIN@6 at line 4
use base 'Stream::Buffered';
# spent 56µs making 1 call to Stream::Buffered::Auto::BEGIN@4 # spent 51µs making 1 call to base::import
5
6sub new {
7 my($class, undef, $max_memory_size) = @_;
8 bless {
9 _buffer => Stream::Buffered->create('PerlIO'),
10 _max => $max_memory_size,
11 }, $class;
12}
13
14sub print {
15 my $self = shift;
16 $self->{_buffer}->print(@_);
17
18 if ($self->{_max} && $self->{_buffer}->size > $self->{_max}) {
19 my $buf = $self->{_buffer}->{buffer};
20 $self->{_buffer} = Stream::Buffered->create('File'),
21 $self->{_buffer}->print($buf);
22 delete $self->{_max};
23 }
24}
25
26sub size {
27 my $self = shift;
28 $self->{_buffer}->size;
29}
30
31sub rewind {
32 my $self = shift;
33 $self->{_buffer}->rewind;
34}
35
3612µs1;