← 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:47 2017

Filename/usr/local/lib/perl5/site_perl/mach/5.24/Net/LibIDN.pm
StatementsExecuted 24 statements in 1.23ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11174µs74µsNet::LibIDN::::bootstrapNet::LibIDN::bootstrap (xsub)
11159µs59µsNet::LibIDN::::BEGIN@3Net::LibIDN::BEGIN@3
11128µs37µsNet::LibIDN::::BEGIN@4Net::LibIDN::BEGIN@4
11123µs401µsNet::LibIDN::::BEGIN@11Net::LibIDN::BEGIN@11
11122µs75µsNet::LibIDN::::BEGIN@85Net::LibIDN::BEGIN@85
11120µs90µsNet::LibIDN::::BEGIN@6Net::LibIDN::BEGIN@6
11119µs146µsNet::LibIDN::::BEGIN@7Net::LibIDN::BEGIN@7
11118µs41µsNet::LibIDN::::BEGIN@5Net::LibIDN::BEGIN@5
0000s0sNet::LibIDN::::AUTOLOADNet::LibIDN::AUTOLOAD
0000s0sNet::LibIDN::::IDNA_ALLOW_UNASSIGNEDNet::LibIDN::IDNA_ALLOW_UNASSIGNED
0000s0sNet::LibIDN::::IDNA_USE_STD3_ASCII_RULESNet::LibIDN::IDNA_USE_STD3_ASCII_RULES
0000s0sNet::LibIDN::::__ANON__[:89]Net::LibIDN::__ANON__[:89]
0000s0sNet::LibIDN::::__ANON__[:93]Net::LibIDN::__ANON__[:93]
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Net::LibIDN;
2
32113µs159µs
# spent 59µs within Net::LibIDN::BEGIN@3 which was called: # once (59µs+0s) by Net::DNS::Domain::BEGIN@53 at line 3
use 5.006;
# spent 59µs making 1 call to Net::LibIDN::BEGIN@3
4250µs246µs
# spent 37µs (28+9) within Net::LibIDN::BEGIN@4 which was called: # once (28µs+9µs) by Net::DNS::Domain::BEGIN@53 at line 4
use strict;
# spent 37µs making 1 call to Net::LibIDN::BEGIN@4 # spent 9µs making 1 call to strict::import
5248µs264µs
# spent 41µs (18+23) within Net::LibIDN::BEGIN@5 which was called: # once (18µs+23µs) by Net::DNS::Domain::BEGIN@53 at line 5
use warnings;
# spent 41µs making 1 call to Net::LibIDN::BEGIN@5 # spent 23µs making 1 call to warnings::import
6251µs2161µs
# spent 90µs (20+70) within Net::LibIDN::BEGIN@6 which was called: # once (20µs+70µs) by Net::DNS::Domain::BEGIN@53 at line 6
use Errno;
# spent 90µs making 1 call to Net::LibIDN::BEGIN@6 # spent 70µs making 1 call to Exporter::import
7271µs2273µs
# spent 146µs (19+127) within Net::LibIDN::BEGIN@7 which was called: # once (19µs+127µs) by Net::DNS::Domain::BEGIN@53 at line 7
use Carp;
# spent 146µs making 1 call to Net::LibIDN::BEGIN@7 # spent 127µs making 1 call to Exporter::import
8
912µsrequire Exporter;
1012µsrequire DynaLoader;
112556µs2780µs
# spent 401µs (23+378) within Net::LibIDN::BEGIN@11 which was called: # once (23µs+378µs) by Net::DNS::Domain::BEGIN@53 at line 11
use AutoLoader;
# spent 401µs making 1 call to Net::LibIDN::BEGIN@11 # spent 378µs making 1 call to AutoLoader::import
12
13119µsour @ISA = qw(Exporter DynaLoader);
14
15# Items to export into callers namespace by default. Note: do not export
16# names by default without a very good reason. Use EXPORT_OK instead.
17# Do not simply export all your public functions/methods/constants.
18
19# This allows declaration use Net::LibIDN ':all';
20# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
21# will save memory.
2216µsour %EXPORT_TAGS = ( 'all' => [ qw(
23 idn_to_ascii
24 idn_to_unicode
25 idn_punycode_encode
26 idn_punycode_decode
27 idn_prep_name
28 idn_prep_kerberos5
29 idn_prep_node
30 idn_prep_resource
31 idn_prep_plain
32 idn_prep_trace
33 idn_prep_sasl
34 idn_prep_iscsi
35 tld_check
36 tld_get
37 tld_get_table
38 IDNA_ALLOW_UNASSIGNED
39 IDNA_USE_STD3_ASCII_RULES
40) ] );
41
4228µsour @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
43
4412µsour @EXPORT = qw(
45 IDNA_ALLOW_UNASSIGNED
46 IDNA_USE_STD3_ASCII_RULES
47);
4812µsour $VERSION = '0.12';
49
50# avoid prototyping error message
51
52sub IDNA_ALLOW_UNASSIGNED
53{
54 return constant("IDNA_ALLOW_UNASSIGNED", length("IDNA_ALLOW_UNASSIGNED"));
55}
56
57sub IDNA_USE_STD3_ASCII_RULES
58{
59 return constant("IDNA_USE_STD3_ASCII_RULES", length("IDNA_USE_STD3_ASCII_RULES"));
60}
61
62sub AUTOLOAD {
63 # This AUTOLOAD is used to 'autoload' constants from the constant()
64 # XS function. If a constant is not found then control is passed
65 # to the AUTOLOAD in AutoLoader.
66
67 my $constname;
68 our $AUTOLOAD;
69 ($constname = $AUTOLOAD) =~ s/.*:://;
70 croak "& not defined" if $constname eq 'constant';
71 my $val = constant($constname, @_ ? $_[0] : 0);
72 if ($! != 0)
73 {
74 if ($!{EINVAL})
75 {
76 $AutoLoader::AUTOLOAD = $AUTOLOAD;
77 goto &AutoLoader::AUTOLOAD;
78 }
79 else
80 {
81 croak "Your vendor has not defined Net::LibIDN macro $constname";
82 }
83 }
84 {
852261µs2128µs
# spent 75µs (22+53) within Net::LibIDN::BEGIN@85 which was called: # once (22µs+53µs) by Net::DNS::Domain::BEGIN@53 at line 85
no strict 'refs';
# spent 75µs making 1 call to Net::LibIDN::BEGIN@85 # spent 53µs making 1 call to strict::unimport
86 # Fixed between 5.005_53 and 5.005_61
87 if ($] >= 5.00561)
88 {
89 *$AUTOLOAD = sub () { $val };
90 }
91 else
92 {
93 *$AUTOLOAD = sub { $val };
94 }
95 }
96 goto &$AUTOLOAD;
97}
98
99116µs1852µsbootstrap Net::LibIDN $VERSION;
# spent 852µs making 1 call to DynaLoader::bootstrap
100
101# Preloaded methods go here.
102
103# Autoload methods go after =cut, and are processed by the autosplit program.
104
105120µs1;
106__END__
 
# spent 74µs within Net::LibIDN::bootstrap which was called: # once (74µs+0s) by DynaLoader::bootstrap at line 210 of DynaLoader.pm
sub Net::LibIDN::bootstrap; # xsub