← Index
NYTProf Performance Profile   « block view • line view • sub view »
For conv.pl
  Run on Sun Nov 14 21:27:43 2010
Reported on Sun Nov 14 21:29:13 2010

Filename/usr/lib/perl/5.10/IO/File.pm
StatementsExecuted 32 statements in 1.41ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
1111.02ms5.69msIO::File::::BEGIN@11IO::File::BEGIN@11
111356µs547µsIO::File::::BEGIN@10IO::File::BEGIN@10
681192µs92µsIO::File::::CORE:matchIO::File::CORE:match (opcode)
11133µs33µsIO::File::::BEGIN@5IO::File::BEGIN@5
11118µs103µsIO::File::::BEGIN@9IO::File::BEGIN@9
11116µs99µsIO::File::::BEGIN@8IO::File::BEGIN@8
11114µs14µsIO::File::::BEGIN@12IO::File::BEGIN@12
11114µs20µsIO::File::::BEGIN@6IO::File::BEGIN@6
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
5362µ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
6369µs226µs
# spent 20µs (14+6) within IO::File::BEGIN@6 which was called: # once (14µs+6µs) by Storable::BEGIN@23 at line 6
use strict;
# spent 20µs making 1 call to IO::File::BEGIN@6 # spent 6µs making 1 call to strict::import
711µsour($VERSION, @EXPORT, @EXPORT_OK, @ISA);
8340µs2182µs
# spent 99µs (16+83) within IO::File::BEGIN@8 which was called: # once (16µs+83µs) by Storable::BEGIN@23 at line 8
use Carp;
# spent 99µs making 1 call to IO::File::BEGIN@8 # spent 83µs making 1 call to Exporter::import
9344µs2188µs
# spent 103µs (18+85) within IO::File::BEGIN@9 which was called: # once (18µs+85µs) by Storable::BEGIN@23 at line 9
use Symbol;
# spent 103µs making 1 call to IO::File::BEGIN@9 # spent 85µs making 1 call to Exporter::import
103202µs1547µs
# spent 547µs (356+191) within IO::File::BEGIN@10 which was called: # once (356µs+191µs) by Storable::BEGIN@23 at line 10
use SelectSaver;
# spent 547µs making 1 call to IO::File::BEGIN@10
113167µs25.77ms
# spent 5.69ms (1.02+4.67) within IO::File::BEGIN@11 which was called: # once (1.02ms+4.67ms) by Storable::BEGIN@23 at line 11
use IO::Seekable;
# spent 5.69ms making 1 call to IO::File::BEGIN@11 # spent 72µs making 1 call to Exporter::import
123494µ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
16124µs@ISA = qw(IO::Handle IO::Seekable Exporter);
17
1812µs$VERSION = "1.14";
19
2012µs@EXPORT = @IO::Seekable::EXPORT;
21
2213µseval {
23 # Make all Fcntl O_XXX constants available for importing
2411µs require Fcntl;
251261µs6892µs my @O = grep /^O_/, @Fcntl::EXPORT;
# spent 92µ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
82113µs1;
 
# spent 92µs within IO::File::CORE:match which was called 68 times, avg 1µs/call: # 68 times (92µs+0s) by Storable::BEGIN@23 at line 25, avg 1µs/call
sub IO::File::CORE:match; # opcode