← Index
NYTProf Performance Profile   « line view »
For /usr/local/bin/sa-learn
  Run on Tue Nov 7 05:38:10 2017
Reported on Tue Nov 7 06:16:02 2017

Filename/usr/local/lib/perl5/site_perl/mach/5.24/Net/LibIDN.pm
StatementsExecuted 24 statements in 1.36ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11182µs82µsNet::LibIDN::::bootstrapNet::LibIDN::bootstrap (xsub)
11156µs82µsNet::LibIDN::::BEGIN@5Net::LibIDN::BEGIN@5
11153µs53µsNet::LibIDN::::BEGIN@3Net::LibIDN::BEGIN@3
11131µs136µsNet::LibIDN::::BEGIN@6Net::LibIDN::BEGIN@6
11128µs43µsNet::LibIDN::::BEGIN@4Net::LibIDN::BEGIN@4
11126µs79µsNet::LibIDN::::BEGIN@85Net::LibIDN::BEGIN@85
11125µs370µsNet::LibIDN::::BEGIN@11Net::LibIDN::BEGIN@11
11123µs190µsNet::LibIDN::::BEGIN@7Net::LibIDN::BEGIN@7
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
32120µs153µs
# spent 53µs within Net::LibIDN::BEGIN@3 which was called: # once (53µs+0s) by Net::DNS::Domain::BEGIN@53 at line 3
use 5.006;
# spent 53µs making 1 call to Net::LibIDN::BEGIN@3
4270µs259µs
# spent 43µs (28+16) within Net::LibIDN::BEGIN@4 which was called: # once (28µs+16µs) by Net::DNS::Domain::BEGIN@53 at line 4
use strict;
# spent 43µs making 1 call to Net::LibIDN::BEGIN@4 # spent 16µs making 1 call to strict::import
5266µs2108µs
# spent 82µs (56+26) within Net::LibIDN::BEGIN@5 which was called: # once (56µs+26µs) by Net::DNS::Domain::BEGIN@53 at line 5
use warnings;
# spent 82µs making 1 call to Net::LibIDN::BEGIN@5 # spent 26µs making 1 call to warnings::import
6261µs2240µs
# spent 136µs (31+105) within Net::LibIDN::BEGIN@6 which was called: # once (31µs+105µs) by Net::DNS::Domain::BEGIN@53 at line 6
use Errno;
# spent 136µs making 1 call to Net::LibIDN::BEGIN@6 # spent 105µs making 1 call to Exporter::import
7268µs2356µs
# spent 190µs (23+166) within Net::LibIDN::BEGIN@7 which was called: # once (23µs+166µs) by Net::DNS::Domain::BEGIN@53 at line 7
use Carp;
# spent 190µs making 1 call to Net::LibIDN::BEGIN@7 # spent 166µs making 1 call to Exporter::import
8
912µsrequire Exporter;
1016µsrequire DynaLoader;
112572µs2714µs
# spent 370µs (25+345) within Net::LibIDN::BEGIN@11 which was called: # once (25µs+345µs) by Net::DNS::Domain::BEGIN@53 at line 11
use AutoLoader;
# spent 370µs making 1 call to Net::LibIDN::BEGIN@11 # spent 345µs making 1 call to AutoLoader::import
12
13117µ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 {
852296µs2133µs
# spent 79µs (26+53) within Net::LibIDN::BEGIN@85 which was called: # once (26µs+53µs) by Net::DNS::Domain::BEGIN@53 at line 85
no strict 'refs';
# spent 79µ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
99124µs1863µsbootstrap Net::LibIDN $VERSION;
# spent 863µ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
105142µs1;
106__END__
 
# spent 82µs within Net::LibIDN::bootstrap which was called: # once (82µs+0s) by DynaLoader::bootstrap at line 210 of DynaLoader.pm
sub Net::LibIDN::bootstrap; # xsub