← Index
NYTProf Performance Profile   « block view • line view • sub view »
For bin/hailo
  Run on Thu Oct 21 22:50:37 2010
Reported on Thu Oct 21 22:52:05 2010

Filename/home/hinrik/perl5/perlbrew/perls/perl-5.13.5/lib/site_perl/5.13.5/Regexp/Common/URI/RFC1738.pm
StatementsExecuted 67 statements in 754µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11125µs105µsRegexp::Common::URI::RFC1738::::BEGIN@3Regexp::Common::URI::RFC1738::BEGIN@3
11118µs942µsRegexp::Common::URI::RFC1738::::BEGIN@33Regexp::Common::URI::RFC1738::BEGIN@33
11113µs13µsRegexp::Common::URI::RFC1738::::BEGIN@19Regexp::Common::URI::RFC1738::BEGIN@19
11112µs16µsRegexp::Common::URI::RFC1738::::BEGIN@5Regexp::Common::URI::RFC1738::BEGIN@5
11111µs21µsRegexp::Common::URI::RFC1738::::BEGIN@6Regexp::Common::URI::RFC1738::BEGIN@6
11110µs44µsRegexp::Common::URI::RFC1738::::BEGIN@8Regexp::Common::URI::RFC1738::BEGIN@8
11110µs107µsRegexp::Common::URI::RFC1738::::BEGIN@11Regexp::Common::URI::RFC1738::BEGIN@11
1116µs6µsRegexp::Common::URI::RFC1738::::BEGIN@13Regexp::Common::URI::RFC1738::BEGIN@13
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Regexp::Common::URI::RFC1738;
2
3228µs2105µs
# spent 105µs (25+80) within Regexp::Common::URI::RFC1738::BEGIN@3 which was called: # once (25µs+80µs) by Regexp::Common::URI::file::BEGIN@5 at line 3
use Regexp::Common qw /pattern clean no_defaults/;
# spent 105µs making 1 call to Regexp::Common::URI::RFC1738::BEGIN@3 # spent 80µs making 1 call to Regexp::Common::import, recursion: max depth 1, sum of overlapping time 80µs
4
5225µs221µs
# spent 16µs (12+4) within Regexp::Common::URI::RFC1738::BEGIN@5 which was called: # once (12µs+4µs) by Regexp::Common::URI::file::BEGIN@5 at line 5
use strict;
# spent 16µs making 1 call to Regexp::Common::URI::RFC1738::BEGIN@5 # spent 4µs making 1 call to strict::import
6227µs230µs
# spent 21µs (11+9) within Regexp::Common::URI::RFC1738::BEGIN@6 which was called: # once (11µs+9µs) by Regexp::Common::URI::file::BEGIN@5 at line 6
use warnings;
# spent 21µs making 1 call to Regexp::Common::URI::RFC1738::BEGIN@6 # spent 9µs making 1 call to warnings::import
7
8233µs278µs
# spent 44µs (10+34) within Regexp::Common::URI::RFC1738::BEGIN@8 which was called: # once (10µs+34µs) by Regexp::Common::URI::file::BEGIN@5 at line 8
use vars qw /$VERSION/;
# spent 44µs making 1 call to Regexp::Common::URI::RFC1738::BEGIN@8 # spent 34µs making 1 call to vars::import
911µs$VERSION = '2010010201';
10
11226µs2204µs
# spent 107µs (10+97) within Regexp::Common::URI::RFC1738::BEGIN@11 which was called: # once (10µs+97µs) by Regexp::Common::URI::file::BEGIN@5 at line 11
use vars qw /@EXPORT @EXPORT_OK %EXPORT_TAGS @ISA/;
# spent 107µs making 1 call to Regexp::Common::URI::RFC1738::BEGIN@11 # spent 97µs making 1 call to vars::import
12
13272µs16µs
# spent 6µs within Regexp::Common::URI::RFC1738::BEGIN@13 which was called: # once (6µs+0s) by Regexp::Common::URI::file::BEGIN@5 at line 13
use Exporter ();
# spent 6µs making 1 call to Regexp::Common::URI::RFC1738::BEGIN@13
1416µs@ISA = qw /Exporter/;
15
16
1711µsmy %vars;
18
19
# spent 13µs within Regexp::Common::URI::RFC1738::BEGIN@19 which was called: # once (13µs+0s) by Regexp::Common::URI::file::BEGIN@5 at line 31
BEGIN {
20314µs $vars {low} = [qw /$digit $digits $hialpha $lowalpha $alpha $alphadigit
21 $safe $extra $national $punctuation $unreserved
22 $unreserved_range $reserved $uchar $uchars $xchar
23 $xchars $hex $escape/];
24
25 $vars {connect} = [qw /$port $hostnumber $toplabel $domainlabel $hostname
26 $host $hostport $user $password $login/];
27
28 $vars {parts} = [qw /$fsegment $fpath $group $article $grouppart
29 $search $database $wtype $wpath $psegment
30 $fieldname $fieldvalue $fieldspec $ppath/];
31130µs113µs}
# spent 13µs making 1 call to Regexp::Common::URI::RFC1738::BEGIN@19
32
332366µs21.87ms
# spent 942µs (18+924) within Regexp::Common::URI::RFC1738::BEGIN@33 which was called: # once (18µs+924µs) by Regexp::Common::URI::file::BEGIN@5 at line 33
use vars map {@$_} values %vars;
# spent 942µs making 1 call to Regexp::Common::URI::RFC1738::BEGIN@33 # spent 924µs making 1 call to vars::import
34
3511µs@EXPORT = qw /$host/;
36118µs@EXPORT_OK = map {@$_} values %vars;
3717µs%EXPORT_TAGS = (%vars, ALL => [@EXPORT_OK]);
38
39# RFC 1738, base definitions.
40
41# Lowlevel definitions.
421800ns$digit = '[0-9]';
431800ns$digits = '[0-9]+';
4411µs$hialpha = '[A-Z]';
4511µs$lowalpha = '[a-z]';
461800ns$alpha = '[a-zA-Z]'; # lowalpha | hialpha
4711µs$alphadigit = '[a-zA-Z0-9]'; # alpha | digit
4811µs$safe = '[-$_.+]';
4911µs$extra = "[!*'(),]";
5011µs$national = '[][{}|\\^~`]';
5111µs$punctuation = '[<>#%"]';
521800ns$unreserved_range = q [-a-zA-Z0-9$_.+!*'(),]; # alphadigit | safe | extra
5312µs$unreserved = "[$unreserved_range]";
5411µs$reserved = '[;/?:@&=]';
5511µs$hex = '[a-fA-F0-9]';
5612µs$escape = "(?:%$hex$hex)";
5712µs$uchar = "(?:$unreserved|$escape)";
5812µs$uchars = "(?:(?:$unreserved|$escape)*)";
5912µs$xchar = "(?:[$unreserved_range;/?:\@&=]|$escape)";
6012µs$xchars = "(?:(?:[$unreserved_range;/?:\@&=]|$escape)*)";
61
62# Connection related stuff.
6311µs$port = "(?:$digits)";
6412µs$hostnumber = "(?:$digits\[.]$digits\[.]$digits\[.]$digits)";
6512µs$toplabel = "(?:$alpha\[-a-zA-Z0-9]*$alphadigit|$alpha)";
6612µs$domainlabel = "(?:(?:$alphadigit\[-a-zA-Z0-9]*)?$alphadigit)";
6712µs$hostname = "(?:(?:$domainlabel\[.])*$toplabel)";
6812µs$host = "(?:$hostname|$hostnumber)";
6911µs$hostport = "(?:$host(?::$port)?)";
70
7112µs$user = "(?:(?:[$unreserved_range;?&=]|$escape)*)";
7212µs$password = "(?:(?:[$unreserved_range;?&=]|$escape)*)";
7312µs$login = "(?:(?:$user(?::$password)?\@)?$hostport)";
74
75# Parts (might require more if we add more URIs).
76
77# FTP/file
7812µs$fsegment = "(?:(?:[$unreserved_range:\@&=]|$escape)*)";
7912µs$fpath = "(?:$fsegment(?:/$fsegment)*)";
80
81# NNTP/news.
8212µs$group = "(?:$alpha\[-A-Za-z0-9.+_]*)";
8312µs$article = "(?:(?:[$unreserved_range;/?:&=]|$escape)+" .
84 '@' . "$host)";
8514µs$grouppart = "(?:[*]|$article|$group)"; # It's important that
86 # $article goes before
87 # $group.
88
89# WAIS.
9012µs$search = "(?:(?:[$unreserved_range;:\@&=]|$escape)*)";
9111µs$database = $uchars;
9211µs$wtype = $uchars;
9311µs$wpath = $uchars;
94
95# prospero
9612µs$psegment = "(?:(?:[$unreserved_range?:\@&=]|$escape)*)";
9712µs$fieldname = "(?:(?:[$unreserved_range?:\@&]|$escape)*)";
9812µs$fieldvalue = "(?:(?:[$unreserved_range?:\@&]|$escape)*)";
9912µs$fieldspec = "(?:;$fieldname=$fieldvalue)";
10012µs$ppath = "(?:$psegment(?:/$psegment)*)";
101
102#
103# The various '(?:(?:[$unreserved_range ...]|$escape)*)' above need
104# some loop unrolling to speed up the match.
105#
106
107135µs1;
108
109__END__