← Index
NYTProf Performance Profile   « line view »
For script/ponapi
  Run on Wed Feb 10 15:51:26 2016
Reported on Thu Feb 11 09:43:12 2016

Filename/usr/local/share/perl/5.18.2/HTTP/Headers/ActionPack/Util.pm
StatementsExecuted 1000026 statements in 2.46s
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
100001111.24s4.38sHTTP::Headers::ActionPack::Util::::split_header_wordsHTTP::Headers::ActionPack::Util::split_header_words
20000211561ms561msHTTP::Headers::ActionPack::Util::::join_header_wordsHTTP::Headers::ActionPack::Util::join_header_words
1116.29ms11.9msHTTP::Headers::ActionPack::Util::::BEGIN@13HTTP::Headers::ActionPack::Util::BEGIN@13
111751µs918µsHTTP::Headers::ActionPack::Util::::BEGIN@15HTTP::Headers::ActionPack::Util::BEGIN@15
11120µs41µsHTTP::Headers::ActionPack::Util::::BEGIN@11HTTP::Headers::ActionPack::Util::BEGIN@11
11119µs19µsHTTP::Headers::ActionPack::Util::::BEGIN@2HTTP::Headers::ActionPack::Util::BEGIN@2
11116µs392µsHTTP::Headers::ActionPack::Util::::BEGIN@17HTTP::Headers::ActionPack::Util::BEGIN@17
11115µs67µsHTTP::Headers::ActionPack::Util::::BEGIN@10HTTP::Headers::ActionPack::Util::BEGIN@10
11112µs75µsHTTP::Headers::ActionPack::Util::::BEGIN@14HTTP::Headers::ActionPack::Util::BEGIN@14
0000s0sHTTP::Headers::ActionPack::Util::::date_to_headerHTTP::Headers::ActionPack::Util::date_to_header
0000s0sHTTP::Headers::ActionPack::Util::::header_to_dateHTTP::Headers::ActionPack::Util::header_to_date
0000s0sHTTP::Headers::ActionPack::Util::::join_header_paramsHTTP::Headers::ActionPack::Util::join_header_params
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package HTTP::Headers::ActionPack::Util;
2
# spent 19µs within HTTP::Headers::ActionPack::Util::BEGIN@2 which was called: # once (19µs+0s) by HTTP::Headers::ActionPack::Core::BaseHeaderType::BEGIN@15 at line 4
BEGIN {
3120µs $HTTP::Headers::ActionPack::Util::AUTHORITY = 'cpan:STEVAN';
4168µs119µs}
# spent 19µs making 1 call to HTTP::Headers::ActionPack::Util::BEGIN@2
5{
621µs $HTTP::Headers::ActionPack::Util::VERSION = '0.09';
7}
8# ABSTRACT: General Utility module
9
10241µs2120µs
# spent 67µs (15+52) within HTTP::Headers::ActionPack::Util::BEGIN@10 which was called: # once (15µs+52µs) by HTTP::Headers::ActionPack::Core::BaseHeaderType::BEGIN@15 at line 10
use strict;
# spent 67µs making 1 call to HTTP::Headers::ActionPack::Util::BEGIN@10 # spent 52µs making 1 call to strict::import
11243µs263µs
# spent 41µs (20+22) within HTTP::Headers::ActionPack::Util::BEGIN@11 which was called: # once (20µs+22µs) by HTTP::Headers::ActionPack::Core::BaseHeaderType::BEGIN@15 at line 11
use warnings;
# spent 41µs making 1 call to HTTP::Headers::ActionPack::Util::BEGIN@11 # spent 22µs making 1 call to warnings::import
12
132349µs211.9ms
# spent 11.9ms (6.29+5.58) within HTTP::Headers::ActionPack::Util::BEGIN@13 which was called: # once (6.29ms+5.58ms) by HTTP::Headers::ActionPack::Core::BaseHeaderType::BEGIN@15 at line 13
use Time::Piece;
# spent 11.9ms making 1 call to HTTP::Headers::ActionPack::Util::BEGIN@13 # spent 48µs making 1 call to Time::Piece::import
14233µs2138µs
# spent 75µs (12+63) within HTTP::Headers::ActionPack::Util::BEGIN@14 which was called: # once (12µs+63µs) by HTTP::Headers::ActionPack::Core::BaseHeaderType::BEGIN@15 at line 14
use HTTP::Date qw[ str2time time2str ];
# spent 75µs making 1 call to HTTP::Headers::ActionPack::Util::BEGIN@14 # spent 63µs making 1 call to Exporter::import
152148µs2938µs
# spent 918µs (751+168) within HTTP::Headers::ActionPack::Util::BEGIN@15 which was called: # once (751µs+168µs) by HTTP::Headers::ActionPack::Core::BaseHeaderType::BEGIN@15 at line 15
use HTTP::Headers::Util;
# spent 918µs making 1 call to HTTP::Headers::ActionPack::Util::BEGIN@15 # spent 20µs making 1 call to Exporter::import
16
17111µs1376µs
# spent 392µs (16+376) within HTTP::Headers::ActionPack::Util::BEGIN@17 which was called: # once (16µs+376µs) by HTTP::Headers::ActionPack::Core::BaseHeaderType::BEGIN@15 at line 25
use Sub::Exporter -setup => {
# spent 376µs making 1 call to Sub::Exporter::__ANON__[Sub/Exporter.pm:337]
18 exports => [qw[
19 header_to_date
20 date_to_header
21 split_header_words
22 join_header_words
23 join_header_params
24 ]]
251273µs1392µs};
# spent 392µs making 1 call to HTTP::Headers::ActionPack::Util::BEGIN@17
26
27sub header_to_date { scalar Time::Piece->gmtime( str2time( shift ) ) }
28sub date_to_header { time2str( shift->epoch ) }
29
30
# spent 4.38s (1.24+3.14) within HTTP::Headers::ActionPack::Util::split_header_words which was called 100001 times, avg 44µs/call: # 100001 times (1.24s+3.14s) by HTTP::Headers::ActionPack::PriorityList::new_from_string at line 35 of HTTP/Headers/ActionPack/PriorityList.pm, avg 44µs/call
sub split_header_words {
3110000155.7ms my $header = shift;
32100001178ms map {
33100001969ms1000013.14s splice @$_, 1, 1;
# spent 3.14s making 100001 calls to HTTP::Headers::Util::_split_header_words, avg 31µs/call
3410000148.2ms $_;
35 } HTTP::Headers::Util::_split_header_words( $header );
36}
37
38
# spent 561ms within HTTP::Headers::ActionPack::Util::join_header_words which was called 200002 times, avg 3µs/call: # 200002 times (561ms+0s) by HTTP::Headers::ActionPack::Core::BaseHeaderType::as_string at line 43 of HTTP/Headers/ActionPack/Core/BaseHeaderType.pm, avg 3µs/call
sub join_header_words {
39200002127ms my ($subject, @params) = @_;
4020000282.6ms return $subject . '; ' . join_header_params( '; ' => @params ) if @params;
412000021.00s return $subject;
42}
43
44sub join_header_params {
45 my ($separator, @params) = @_;
46 my @attrs;
47 while ( @params ) {
48 my $k = shift @params;
49 my $v = shift @params;
50
51 if (defined $v) {
52 $v =~ s/([\"\\])/\\$1/g; # escape " and \
53 }
54 else {
55 $v = q{};
56 }
57 push @attrs => ($k . qq(="$v"));
58 }
59 return join $separator => @attrs;
60}
61
6213µs1;
63
64__END__