← Index
NYTProf Performance Profile   « block view • line view • sub view »
For conv.pl
  Run on Sun Nov 14 21:14:18 2010
Reported on Sun Nov 14 21:17:51 2010

Filename/usr/lib/perl/5.10/IO/File.pm
StatementsExecuted 32 statements in 1.35ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
111924µs5.40msIO::File::::BEGIN@11IO::File::BEGIN@11
111347µs537µsIO::File::::BEGIN@10IO::File::BEGIN@10
681182µs82µsIO::File::::CORE:matchIO::File::CORE:match (opcode)
11133µs33µsIO::File::::BEGIN@5IO::File::BEGIN@5
11120µs109µsIO::File::::BEGIN@9IO::File::BEGIN@9
11116µs22µsIO::File::::BEGIN@6IO::File::BEGIN@6
11115µs102µsIO::File::::BEGIN@8IO::File::BEGIN@8
11114µs14µsIO::File::::BEGIN@12IO::File::BEGIN@12
0000s0sIO::File::::binmodeIO::File::binmode
0000s0sIO::File::::newIO::File::new
0000s0sIO::File::::openIO::File::open
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1#
2
3package IO::File;
4
5352µs133µs
# spent 33µs within IO::File::BEGIN@5 which was called: # once (33µs+0s) by Storable::BEGIN@23 at line 5
use 5.006_001;
# spent 33µs making 1 call to IO::File::BEGIN@5
6370µs228µs
# spent 22µs (16+6) within IO::File::BEGIN@6 which was called: # once (16µs+6µs) by Storable::BEGIN@23 at line 6
use strict;
# spent 22µs making 1 call to IO::File::BEGIN@6 # spent 6µs making 1 call to strict::import
712µsour($VERSION, @EXPORT, @EXPORT_OK, @ISA);
8338µs2189µs
# spent 102µs (15+87) within IO::File::BEGIN@8 which was called: # once (15µs+87µs) by Storable::BEGIN@23 at line 8
use Carp;
# spent 102µs making 1 call to IO::File::BEGIN@8 # spent 87µs making 1 call to Exporter::import
9344µs2198µs
# spent 109µs (20+89) within IO::File::BEGIN@9 which was called: # once (20µs+89µs) by Storable::BEGIN@23 at line 9
use Symbol;
# spent 109µs making 1 call to IO::File::BEGIN@9 # spent 89µs making 1 call to Exporter::import
103201µs1537µs
# spent 537µs (347+190) within IO::File::BEGIN@10 which was called: # once (347µs+190µs) by Storable::BEGIN@23 at line 10
use SelectSaver;
# spent 537µs making 1 call to IO::File::BEGIN@10
113159µs25.47ms
# spent 5.40ms (924µs+4.47) within IO::File::BEGIN@11 which was called: # once (924µs+4.47ms) by Storable::BEGIN@23 at line 11
use IO::Seekable;
# spent 5.40ms making 1 call to IO::File::BEGIN@11 # spent 76µs making 1 call to Exporter::import
123472µs114µs
# spent 14µs within IO::File::BEGIN@12 which was called: # once (14µs+0s) by Storable::BEGIN@23 at line 12
use File::Spec;
# spent 14µs making 1 call to IO::File::BEGIN@12
13
1411µsrequire Exporter;
15
16122µs@ISA = qw(IO::Handle IO::Seekable Exporter);
17
1811µs$VERSION = "1.14";
19
2012µs@EXPORT = @IO::Seekable::EXPORT;
21
2212µseval {
23 # Make all Fcntl O_XXX constants available for importing
2411µs require Fcntl;
251252µs6882µs my @O = grep /^O_/, @Fcntl::EXPORT;
# spent 82µs making 68 calls to IO::File::CORE:match, avg 1µs/call
2616µs1336µs Fcntl->import(@O); # first we import what we want to export
# spent 336µs making 1 call to Exporter::import
27114µs push(@EXPORT, @O);
28};
29
30################################################
31## Constructor
32##
33
34sub new {
35 my $type = shift;
36 my $class = ref($type) || $type || "IO::File";
37 @_ >= 0 && @_ <= 3
38 or croak "usage: new $class [FILENAME [,MODE [,PERMS]]]";
39 my $fh = $class->SUPER::new();
40 if (@_) {
41 $fh->open(@_)
42 or return undef;
43 }
44 $fh;
45}
46
47################################################
48## Open
49##
50
51sub open {
52 @_ >= 2 && @_ <= 4 or croak 'usage: $fh->open(FILENAME [,MODE [,PERMS]])';
53 my ($fh, $file) = @_;
54 if (@_ > 2) {
55 my ($mode, $perms) = @_[2, 3];
56 if ($mode =~ /^\d+$/) {
57 defined $perms or $perms = 0666;
58 return sysopen($fh, $file, $mode, $perms);
59 } elsif ($mode =~ /:/) {
60 return open($fh, $mode, $file) if @_ == 3;
61 croak 'usage: $fh->open(FILENAME, IOLAYERS)';
62 } else {
63 return open($fh, IO::Handle::_open_mode_string($mode), $file);
64 }
65 }
66 open($fh, $file);
67}
68
69################################################
70## Binmode
71##
72
73sub binmode {
74 ( @_ == 1 or @_ == 2 ) or croak 'usage $fh->binmode([LAYER])';
75
76 my($fh, $layer) = @_;
77
78 return binmode $$fh unless $layer;
79 return binmode $$fh, $layer;
80}
81
82112µs1;
 
# spent 82µs within IO::File::CORE:match which was called 68 times, avg 1µs/call: # 68 times (82µs+0s) by Storable::BEGIN@23 at line 25, avg 1µs/call
sub IO::File::CORE:match; # opcode