← Index
NYTProf Performance Profile   « line view »
For ./view
  Run on Fri Jul 31 19:05:14 2015
Reported on Fri Jul 31 19:08:10 2015

Filename/var/www/foswiki11/lib/Foswiki/Query/OP_and.pm
StatementsExecuted 54 statements in 12.5ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
61156µs2.58msFoswiki::Query::OP_and::::evaluateFoswiki::Query::OP_and::evaluate
31153µs106µsFoswiki::Query::OP_and::::newFoswiki::Query::OP_and::new
11126µs36µsFoswiki::Query::OP_and::::BEGIN@12Foswiki::Query::OP_and::BEGIN@12
11122µs48µsFoswiki::Query::OP_and::::BEGIN@11Foswiki::Query::OP_and::BEGIN@11
11116µs33µsFoswiki::Query::OP_and::::BEGIN@26Foswiki::Query::OP_and::BEGIN@26
11116µs34µsFoswiki::Query::OP_and::::BEGIN@36Foswiki::Query::OP_and::BEGIN@36
11114µs34µsFoswiki::Query::OP_and::::BEGIN@30Foswiki::Query::OP_and::BEGIN@30
11114µs33µsFoswiki::Query::OP_and::::BEGIN@42Foswiki::Query::OP_and::BEGIN@42
1116µs6µsFoswiki::Query::OP_and::::BEGIN@14Foswiki::Query::OP_and::BEGIN@14
0000s0sFoswiki::Query::OP_and::::evaluatesToConstantFoswiki::Query::OP_and::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_and
6
7=cut
8
9package Foswiki::Query::OP_and;
10
11211.8ms273µs
# spent 48µs (22+25) within Foswiki::Query::OP_and::BEGIN@11 which was called: # once (22µs+25µs) by Foswiki::Query::Parser::new at line 11
use strict;
# spent 48µs making 1 call to Foswiki::Query::OP_and::BEGIN@11 # spent 25µs making 1 call to strict::import
12250µs245µs
# spent 36µs (26+9) within Foswiki::Query::OP_and::BEGIN@12 which was called: # once (26µs+9µs) by Foswiki::Query::Parser::new at line 12
use warnings;
# spent 36µs making 1 call to Foswiki::Query::OP_and::BEGIN@12 # spent 10µs making 1 call to warnings::import
13
142146µs16µs
# spent 6µs within Foswiki::Query::OP_and::BEGIN@14 which was called: # once (6µs+0s) by Foswiki::Query::Parser::new at line 14
use Foswiki::Query::BinaryOP ();
# spent 6µs making 1 call to Foswiki::Query::OP_and::BEGIN@14
15112µsour @ISA = ('Foswiki::Query::BinaryOP');
16
17
# spent 106µs (53+52) within Foswiki::Query::OP_and::new which was called 3 times, avg 35µs/call: # 3 times (53µs+52µs) by Foswiki::Query::Parser::new at line 47 of /var/www/foswiki11/lib/Foswiki/Query/Parser.pm, avg 35µs/call
sub new {
1832µs my $class = shift;
19345µs352µs return $class->SUPER::new( name => 'and', prec => 200 );
# spent 52µs making 3 calls to Foswiki::Query::BinaryOP::new, avg 18µs/call
20}
21
22
# spent 2.58ms (56µs+2.52) within Foswiki::Query::OP_and::evaluate which was called 6 times, avg 429µs/call: # 6 times (56µs+2.52ms) by Foswiki::Query::Node::evaluate at line 184 of /var/www/foswiki11/lib/Foswiki/Query/Node.pm, avg 429µs/call
sub evaluate {
2362µs my $this = shift;
2461µs my $node = shift;
2563µs my $a = $node->{params}[0];
26296µs249µs
# spent 33µs (16+16) within Foswiki::Query::OP_and::BEGIN@26 which was called: # once (16µs+16µs) by Foswiki::Query::Parser::new at line 26
no warnings 'recursion';
# spent 33µs making 1 call to Foswiki::Query::OP_and::BEGIN@26 # spent 16µs making 1 call to warnings::unimport
27613µs60s return 0 unless $a->evaluate(@_);
# spent 1.52ms making 6 calls to Foswiki::Query::Node::evaluate, avg 253µs/call, recursion: max depth 1, sum of overlapping time 1.52ms
2843µs my $b = $node->{params}[1];
29419µs40s return $b->evaluate(@_) ? 1 : 0;
# spent 1.01ms making 4 calls to Foswiki::Query::Node::evaluate, avg 251µs/call, recursion: max depth 1, sum of overlapping time 1.01ms
30290µs254µs
# spent 34µs (14+20) within Foswiki::Query::OP_and::BEGIN@30 which was called: # once (14µs+20µs) by Foswiki::Query::Parser::new at line 30
use warnings 'recursion';
# spent 34µs making 1 call to Foswiki::Query::OP_and::BEGIN@30 # spent 20µs making 1 call to warnings::import
31}
32
33sub evaluatesToConstant {
34 my $this = shift;
35 my $node = shift;
362130µs253µs
# spent 34µs (16+19) within Foswiki::Query::OP_and::BEGIN@36 which was called: # once (16µs+19µs) by Foswiki::Query::Parser::new at line 36
no warnings 'recursion';
# spent 34µs making 1 call to Foswiki::Query::OP_and::BEGIN@36 # spent 19µs making 1 call to warnings::unimport
37 my $ac = $node->{params}[0]->evaluatesToConstant(@_);
38 my $bc = $node->{params}[1]->evaluatesToConstant(@_);
39 return 1 if ( $ac && $bc );
40 return 1 if $ac && !$node->{params}[0]->evaluate(@_);
41 return 1 if $bc && !$node->{params}[1]->evaluate(@_);
42278µs253µs
# spent 33µs (14+19) within Foswiki::Query::OP_and::BEGIN@42 which was called: # once (14µs+19µs) by Foswiki::Query::Parser::new at line 42
use warnings 'recursion';
# spent 33µs making 1 call to Foswiki::Query::OP_and::BEGIN@42 # spent 19µs making 1 call to warnings::import
43 return 0;
44}
45
4615µs1;
47__END__