← Index
NYTProf Performance Profile   « line view »
For /usr/local/bin/sa-learn
  Run on Sun Nov 5 03:09:29 2017
Reported on Mon Nov 6 13:20:51 2017

Filename/usr/local/lib/perl5/site_perl/Net/DNS/RR/A.pm
StatementsExecuted 11 statements in 748µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11158µs70µsNet::DNS::RR::A::::BEGIN@9Net::DNS::RR::A::BEGIN@9
11132µs39µsNet::DNS::RR::A::::BEGIN@20Net::DNS::RR::A::BEGIN@20
11126µs66µsNet::DNS::RR::A::::BEGIN@10Net::DNS::RR::A::BEGIN@10
11119µs209µsNet::DNS::RR::A::::BEGIN@11Net::DNS::RR::A::BEGIN@11
0000s0sNet::DNS::RR::A::::_decode_rdataNet::DNS::RR::A::_decode_rdata
0000s0sNet::DNS::RR::A::::_encode_rdataNet::DNS::RR::A::_encode_rdata
0000s0sNet::DNS::RR::A::::_format_rdataNet::DNS::RR::A::_format_rdata
0000s0sNet::DNS::RR::A::::_parse_rdataNet::DNS::RR::A::_parse_rdata
0000s0sNet::DNS::RR::A::::addressNet::DNS::RR::A::address
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Net::DNS::RR::A;
2
3#
4# $Id: A.pm 1597 2017-09-22 08:04:02Z willem $
5#
613µsour $VERSION = (qw$LastChangedRevision: 1597 $)[1];
7
8
9259µs282µs
# spent 70µs (58+12) within Net::DNS::RR::A::BEGIN@9 which was called: # once (58µs+12µs) by Net::DNS::RR::OPT::CLIENT_SUBNET::BEGIN@240 at line 9
use strict;
# spent 70µs making 1 call to Net::DNS::RR::A::BEGIN@9 # spent 12µs making 1 call to strict::import
10259µs2106µs
# spent 66µs (26+40) within Net::DNS::RR::A::BEGIN@10 which was called: # once (26µs+40µs) by Net::DNS::RR::OPT::CLIENT_SUBNET::BEGIN@240 at line 10
use warnings;
# spent 66µs making 1 call to Net::DNS::RR::A::BEGIN@10 # spent 40µs making 1 call to warnings::import
11268µs2399µs
# spent 209µs (19+190) within Net::DNS::RR::A::BEGIN@11 which was called: # once (19µs+190µs) by Net::DNS::RR::OPT::CLIENT_SUBNET::BEGIN@240 at line 11
use base qw(Net::DNS::RR);
# spent 209µs making 1 call to Net::DNS::RR::A::BEGIN@11 # spent 190µs making 1 call to base::import
12
13=head1 NAME
14
15Net::DNS::RR::A - DNS A resource record
16
17=cut
18
19
202545µs246µs
# spent 39µs (32+7) within Net::DNS::RR::A::BEGIN@20 which was called: # once (32µs+7µs) by Net::DNS::RR::OPT::CLIENT_SUBNET::BEGIN@240 at line 20
use integer;
# spent 39µs making 1 call to Net::DNS::RR::A::BEGIN@20 # spent 7µs making 1 call to integer::import
21
22
23sub _decode_rdata { ## decode rdata from wire-format octet string
24 my $self = shift;
25 my ( $data, $offset ) = @_;
26
27 $self->{address} = unpack "\@$offset a4", $$data;
28}
29
30
31sub _encode_rdata { ## encode rdata as wire-format octet string
32 my $self = shift;
33
34 pack 'a4', $self->{address};
35}
36
37
38sub _format_rdata { ## format rdata portion of RR string.
39 my $self = shift;
40
41 $self->address;
42}
43
44
45sub _parse_rdata { ## populate RR from rdata in argument list
46 my $self = shift;
47
48 $self->address(shift);
49}
50
51
5212µs17µsmy $pad = pack 'x4';
# spent 7µs making 1 call to main::CORE:pack
53
54sub address {
55 my $self = shift;
56 my $addr = shift;
57
58 return join '.', unpack 'C4', $self->{address} . $pad unless defined $addr;
59
60 # Note: pack masks overlarge values, mostly without warning
61 my @part = split /\./, $addr;
62 my $last = pop(@part);
63 $self->{address} = pack 'C4', @part, (0) x ( 3 - @part ), $last;
64}
65
66
67112µs1;
68__END__