← Index
NYTProf Performance Profile   « line view »
For /home/ss5/perl5/perlbrew/perls/perl-5.22.0/bin/benchmarkanything-storage
  Run on Mon Jan 29 16:55:34 2018
Reported on Mon Jan 29 16:57:07 2018

Filename/home/ss5/perl5/perlbrew/perls/perl-5.22.0/lib/5.22.0/x86_64-linux/IO/Socket/UNIX.pm
StatementsExecuted 11 statements in 241µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
1119µs10µsIO::Socket::UNIX::::BEGIN@9IO::Socket::UNIX::BEGIN@9
1115µs24µsIO::Socket::UNIX::::BEGIN@12IO::Socket::UNIX::BEGIN@12
1114µs347µsIO::Socket::UNIX::::BEGIN@11IO::Socket::UNIX::BEGIN@11
0000s0sIO::Socket::UNIX::::configureIO::Socket::UNIX::configure
0000s0sIO::Socket::UNIX::::hostpathIO::Socket::UNIX::hostpath
0000s0sIO::Socket::UNIX::::newIO::Socket::UNIX::new
0000s0sIO::Socket::UNIX::::peerpathIO::Socket::UNIX::peerpath
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1# IO::Socket::UNIX.pm
2#
3# Copyright (c) 1997-8 Graham Barr <gbarr@pobox.com>. All rights reserved.
4# This program is free software; you can redistribute it and/or
5# modify it under the same terms as Perl itself.
6
7package IO::Socket::UNIX;
8
9226µs212µs
# spent 10µs (9+2) within IO::Socket::UNIX::BEGIN@9 which was called: # once (9µs+2µs) by HTTP::Tiny::Handle::BEGIN@866 at line 9
use strict;
# spent 10µs making 1 call to IO::Socket::UNIX::BEGIN@9 # spent 2µs making 1 call to strict::import
10our(@ISA, $VERSION);
11219µs2690µs
# spent 347µs (4+343) within IO::Socket::UNIX::BEGIN@11 which was called: # once (4µs+343µs) by HTTP::Tiny::Handle::BEGIN@866 at line 11
use IO::Socket;
# spent 347µs making 1 call to IO::Socket::UNIX::BEGIN@11 # spent 343µs making 1 call to IO::Socket::import
122178µs244µs
# spent 24µs (5+20) within IO::Socket::UNIX::BEGIN@12 which was called: # once (5µs+20µs) by HTTP::Tiny::Handle::BEGIN@866 at line 12
use Carp;
# spent 24µs making 1 call to IO::Socket::UNIX::BEGIN@12 # spent 20µs making 1 call to Exporter::import
13
1414µs@ISA = qw(IO::Socket);
151300ns$VERSION = "1.26";
1619µs$VERSION = eval $VERSION;
# spent 2µs executing statements in string eval
17
1812µs12µsIO::Socket::UNIX->register_domain( AF_UNIX );
# spent 2µs making 1 call to IO::Socket::register_domain
19
20sub new {
21 my $class = shift;
22 unshift(@_, "Peer") if @_ == 1;
23 return $class->SUPER::new(@_);
24}
25
26sub configure {
27 my($sock,$arg) = @_;
28 my($bport,$cport);
29
30 my $type = $arg->{Type} || SOCK_STREAM;
31
32 $sock->socket(AF_UNIX, $type, 0) or
33 return undef;
34
35 if(exists $arg->{Local}) {
36 my $addr = sockaddr_un($arg->{Local});
37 $sock->bind($addr) or
38 return undef;
39 }
40 if(exists $arg->{Listen} && $type != SOCK_DGRAM) {
41 $sock->listen($arg->{Listen} || 5) or
42 return undef;
43 }
44 elsif(exists $arg->{Peer}) {
45 my $addr = sockaddr_un($arg->{Peer});
46 $sock->connect($addr) or
47 return undef;
48 }
49
50 $sock;
51}
52
53sub hostpath {
54 @_ == 1 or croak 'usage: $sock->hostpath()';
55 my $n = $_[0]->sockname || return undef;
56 (sockaddr_un($n))[0];
57}
58
59sub peerpath {
60 @_ == 1 or croak 'usage: $sock->peerpath()';
61 my $n = $_[0]->peername || return undef;
62 (sockaddr_un($n))[0];
63}
64
6513µs1; # Keep require happy
66
67__END__