← Index
NYTProf Performance Profile   « block view • line view • sub view »
For reply.pl
  Run on Thu Oct 21 22:40:13 2010
Reported on Thu Oct 21 22:44:44 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 768µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11125µs108µsRegexp::Common::URI::RFC1738::::BEGIN@3Regexp::Common::URI::RFC1738::BEGIN@3
11117µs936µsRegexp::Common::URI::RFC1738::::BEGIN@33Regexp::Common::URI::RFC1738::BEGIN@33
11114µs14µsRegexp::Common::URI::RFC1738::::BEGIN@19Regexp::Common::URI::RFC1738::BEGIN@19
11111µs16µsRegexp::Common::URI::RFC1738::::BEGIN@5Regexp::Common::URI::RFC1738::BEGIN@5
11111µs20µsRegexp::Common::URI::RFC1738::::BEGIN@6Regexp::Common::URI::RFC1738::BEGIN@6
11111µs45µsRegexp::Common::URI::RFC1738::::BEGIN@8Regexp::Common::URI::RFC1738::BEGIN@8
11111µs109µ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µs2108µs
# spent 108µs (25+82) within Regexp::Common::URI::RFC1738::BEGIN@3 which was called: # once (25µs+82µs) by Regexp::Common::URI::file::BEGIN@5 at line 3
use Regexp::Common qw /pattern clean no_defaults/;
# spent 108µs making 1 call to Regexp::Common::URI::RFC1738::BEGIN@3 # spent 82µs making 1 call to Regexp::Common::import, recursion: max depth 1, sum of overlapping time 82µs
4
5225µs220µs
# spent 16µs (11+5) within Regexp::Common::URI::RFC1738::BEGIN@5 which was called: # once (11µs+5µ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 5µs making 1 call to strict::import
6227µs229µs
# spent 20µ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 20µs making 1 call to Regexp::Common::URI::RFC1738::BEGIN@6 # spent 9µs making 1 call to warnings::import
7
8234µs279µs
# spent 45µs (11+34) within Regexp::Common::URI::RFC1738::BEGIN@8 which was called: # once (11µs+34µs) by Regexp::Common::URI::file::BEGIN@5 at line 8
use vars qw /$VERSION/;
# spent 45µ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µs2207µs
# spent 109µs (11+98) within Regexp::Common::URI::RFC1738::BEGIN@11 which was called: # once (11µs+98µs) by Regexp::Common::URI::file::BEGIN@5 at line 11
use vars qw /@EXPORT @EXPORT_OK %EXPORT_TAGS @ISA/;
# spent 109µs making 1 call to Regexp::Common::URI::RFC1738::BEGIN@11 # spent 98µs making 1 call to vars::import
12
13270µ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 14µs within Regexp::Common::URI::RFC1738::BEGIN@19 which was called: # once (14µs+0s) by Regexp::Common::URI::file::BEGIN@5 at line 31
BEGIN {
2014µ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
2512µs $vars {connect} = [qw /$port $hostnumber $toplabel $domainlabel $hostname
26 $host $hostport $user $password $login/];
27
2817µs $vars {parts} = [qw /$fsegment $fpath $group $article $grouppart
29 $search $database $wtype $wpath $psegment
30 $fieldname $fieldvalue $fieldspec $ppath/];
31130µs114µs}
# spent 14µs making 1 call to Regexp::Common::URI::RFC1738::BEGIN@19
32
332372µs21.86ms
# spent 936µs (17+919) within Regexp::Common::URI::RFC1738::BEGIN@33 which was called: # once (17µs+919µs) by Regexp::Common::URI::file::BEGIN@5 at line 33
use vars map {@$_} values %vars;
# spent 936µs making 1 call to Regexp::Common::URI::RFC1738::BEGIN@33 # spent 919µs making 1 call to vars::import
34
3512µs@EXPORT = qw /$host/;
36122µs@EXPORT_OK = map {@$_} values %vars;
3718µs%EXPORT_TAGS = (%vars, ALL => [@EXPORT_OK]);
38
39# RFC 1738, base definitions.
40
41# Lowlevel definitions.
421900ns$digit = '[0-9]';
431900ns$digits = '[0-9]+';
441800ns$hialpha = '[A-Z]';
451800ns$lowalpha = '[a-z]';
4611µs$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 = '[<>#%"]';
5211µs$unreserved_range = q [-a-zA-Z0-9$_.+!*'(),]; # alphadigit | safe | extra
5312µs$unreserved = "[$unreserved_range]";
541700ns$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)";
6912µ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.
8211µs$group = "(?:$alpha\[-A-Za-z0-9.+_]*)";
8313µs$article = "(?:(?:[$unreserved_range;/?:&=]|$escape)+" .
84 '@' . "$host)";
8512µ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
107136µs1;
108
109__END__