← Index
NYTProf Performance Profile   « block view • line view • sub view »
For /usr/local/src/github.com/foswiki/core/bin/view
  Run on Sun Dec 4 17:17:59 2011
Reported on Sun Dec 4 17:27:20 2011

Filename/usr/local/src/github.com/foswiki/core/lib/Foswiki/Query/OP_dot.pm
StatementsExecuted 14 statements in 444µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
31168µs105µsFoswiki::Query::OP_dot::::newFoswiki::Query::OP_dot::new
11125µs33µsFoswiki::Query::OP_dot::::BEGIN@11Foswiki::Query::OP_dot::BEGIN@11
11117µs35µsFoswiki::Query::OP_dot::::BEGIN@12Foswiki::Query::OP_dot::BEGIN@12
1119µs9µsFoswiki::Query::OP_dot::::BEGIN@14Foswiki::Query::OP_dot::BEGIN@14
0000s0sFoswiki::Query::OP_dot::::evaluateFoswiki::Query::OP_dot::evaluate
0000s0sFoswiki::Query::OP_dot::::evaluatesToConstantFoswiki::Query::OP_dot::evaluatesToConstant
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::Query::OP_dot
6
7=cut
8
9package Foswiki::Query::OP_dot;
10
11247µs241µs
# spent 33µs (25+8) within Foswiki::Query::OP_dot::BEGIN@11 which was called: # once (25µs+8µs) by Foswiki::Query::Parser::BEGIN@52 at line 11
use strict;
# spent 33µs making 1 call to Foswiki::Query::OP_dot::BEGIN@11 # spent 8µs making 1 call to strict::import
12244µs253µs
# spent 35µs (17+18) within Foswiki::Query::OP_dot::BEGIN@12 which was called: # once (17µs+18µs) by Foswiki::Query::Parser::BEGIN@52 at line 12
use warnings;
# spent 35µs making 1 call to Foswiki::Query::OP_dot::BEGIN@12 # spent 18µs making 1 call to warnings::import
13
142280µs19µs
# spent 9µs within Foswiki::Query::OP_dot::BEGIN@14 which was called: # once (9µs+0s) by Foswiki::Query::Parser::BEGIN@52 at line 14
use Foswiki::Query::OP ();
# spent 9µs making 1 call to Foswiki::Query::OP_dot::BEGIN@14
1519µsour @ISA = ('Foswiki::Query::OP');
16
17
# spent 105µs (68+37) within Foswiki::Query::OP_dot::new which was called 3 times, avg 35µs/call: # 3 times (68µs+37µs) by Foswiki::Query::Parser::new at line 105 of /usr/local/src/github.com/foswiki/core/lib/Foswiki/Query/Parser.pm, avg 35µs/call
sub new {
1836µs my $class = shift;
19353µs337µs return $class->SUPER::new( arity => 2, name => '.', prec => 800 );
# spent 37µs making 3 calls to Foswiki::Query::OP::new, avg 12µs/call
20}
21
22sub evaluate {
23 my $this = shift;
24 my $node = shift;
25 my %domain = @_;
26 my $a = $node->{params}[0];
27
28 # See Foswiki/Query/Node.pm for an explanation of restricted names
29 my $lval = $a->evaluate( restricted_name => 1, @_ );
30 return unless ( defined $lval );
31 my $b = $node->{params}[1];
32 my $res = $b->evaluate( data => $lval, tom => $domain{tom} );
33 if ( ref($res) eq 'ARRAY' && scalar(@$res) == 1 ) {
34 return $res->[0];
35 }
36 return $res;
37}
38
39# Data sensitive, never evaluates to a constant
40sub evaluatesToConstant { 0 }
41
4216µs1;
43__END__