← Index
NYTProf Performance Profile   « line view »
For ./view
  Run on Fri Jul 31 18:42:36 2015
Reported on Fri Jul 31 18:48:15 2015

Filename/var/www/foswikidev/core/lib/Foswiki/If/OP_dollar.pm
StatementsExecuted 187 statements in 496µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
1611256µs4.37msFoswiki::If::OP_dollar::::evaluateFoswiki::If::OP_dollar::evaluate
11115µs27µsFoswiki::If::OP_dollar::::BEGIN@11Foswiki::If::OP_dollar::BEGIN@11
11114µs27µsFoswiki::If::OP_dollar::::newFoswiki::If::OP_dollar::new
1118µs12µsFoswiki::If::OP_dollar::::BEGIN@12Foswiki::If::OP_dollar::BEGIN@12
1114µs4µsFoswiki::If::OP_dollar::::BEGIN@17Foswiki::If::OP_dollar::BEGIN@17
1113µs3µsFoswiki::If::OP_dollar::::BEGIN@14Foswiki::If::OP_dollar::BEGIN@14
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1# See bottom of file for license and copyright information
2
3=begin TML
4
5---+ package Foswiki::If::OP_dollar
6
7=cut
8
9package Foswiki::If::OP_dollar;
10
11225µs239µs
# spent 27µs (15+12) within Foswiki::If::OP_dollar::BEGIN@11 which was called: # once (15µs+12µs) by Foswiki::If::Parser::BEGIN@25 at line 11
use strict;
# spent 27µs making 1 call to Foswiki::If::OP_dollar::BEGIN@11 # spent 12µs making 1 call to strict::import
12223µs216µs
# spent 12µs (8+4) within Foswiki::If::OP_dollar::BEGIN@12 which was called: # once (8µs+4µs) by Foswiki::If::Parser::BEGIN@25 at line 12
use warnings;
# spent 12µs making 1 call to Foswiki::If::OP_dollar::BEGIN@12 # spent 4µs making 1 call to warnings::import
13
14248µs13µs
# spent 3µs within Foswiki::If::OP_dollar::BEGIN@14 which was called: # once (3µs+0s) by Foswiki::If::Parser::BEGIN@25 at line 14
use Foswiki::Query::UnaryOP ();
# spent 3µs making 1 call to Foswiki::If::OP_dollar::BEGIN@14
1517µsour @ISA = ('Foswiki::Query::UnaryOP');
16
17
# spent 4µs within Foswiki::If::OP_dollar::BEGIN@17 which was called: # once (4µs+0s) by Foswiki::If::Parser::BEGIN@25 at line 22
BEGIN {
18110µs if ( $Foswiki::cfg{UseLocale} ) {
19 require locale;
20 import locale();
21 }
221152µs14µs}
# spent 4µs making 1 call to Foswiki::If::OP_dollar::BEGIN@17
23
24
# spent 27µs (14+13) within Foswiki::If::OP_dollar::new which was called: # once (14µs+13µs) by Foswiki::If::Parser::new at line 49 of /var/www/foswikidev/core/lib/Foswiki/If/Parser.pm
sub new {
251300ns my $class = shift;
26114µs113µs return $class->SUPER::new(
# spent 13µs making 1 call to Foswiki::Query::UnaryOP::new
27 name => '$',
28 prec => 600
29 );
30}
31
32
# spent 4.37ms (256µs+4.12) within Foswiki::If::OP_dollar::evaluate which was called 16 times, avg 273µs/call: # 16 times (256µs+4.12ms) by Foswiki::Query::Node::evaluate at line 223 of /var/www/foswikidev/core/lib/Foswiki/Query/Node.pm, avg 273µs/call
sub evaluate {
33164µs my $this = shift;
34163µs my $node = shift;
35167µs my $a = $node->{params}->[0];
361611µs my %domain = @_;
371626µs1624µs my $session = $domain{tom}->session;
# spent 24µs making 16 calls to Foswiki::Meta::session, avg 2µs/call
38164µs throw Error::Simple(
39 'No context in which to evaluate "' . $a->stringify() . '"' )
40 unless $session;
411628µs1633µs my $text = $a->_evaluate(@_) || '';
# spent 33µs making 16 calls to Foswiki::If::Node::_evaluate, avg 2µs/call
421632µs16290µs if ( $text && defined( $session->{request}->param($text) ) ) {
# spent 290µs making 16 calls to Foswiki::Request::param, avg 18µs/call
43 return $session->{request}->param($text);
44 }
45
461620µs $text = "%$text%";
471633µs160s Foswiki::innerExpandMacros( $session, \$text, $domain{tom} );
# spent 3.77ms making 16 calls to Foswiki::innerExpandMacros, avg 236µs/call, recursion: max depth 3, sum of overlapping time 3.77ms
48
491647µs return $text || '';
50}
51
5213µs1;
53__END__