Filename | /usr/local/src/github.com/foswiki/core/lib/Foswiki/Query/OP_in.pm |
Statements | Executed 14 statements in 431µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
3 | 1 | 1 | 71µs | 154µs | new | Foswiki::Query::OP_in::
1 | 1 | 1 | 26µs | 34µs | BEGIN@11 | Foswiki::Query::OP_in::
1 | 1 | 1 | 24µs | 42µs | BEGIN@12 | Foswiki::Query::OP_in::
1 | 1 | 1 | 9µs | 9µs | BEGIN@14 | Foswiki::Query::OP_in::
0 | 0 | 0 | 0s | 0s | __ANON__[:30] | Foswiki::Query::OP_in::
0 | 0 | 0 | 0s | 0s | evaluate | Foswiki::Query::OP_in::
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_in | ||||
6 | |||||
7 | =cut | ||||
8 | |||||
9 | package Foswiki::Query::OP_in; | ||||
10 | |||||
11 | 2 | 50µs | 2 | 41µs | # spent 34µs (26+7) within Foswiki::Query::OP_in::BEGIN@11 which was called:
# once (26µs+7µs) by Foswiki::Query::Parser::BEGIN@43 at line 11 # spent 34µs making 1 call to Foswiki::Query::OP_in::BEGIN@11
# spent 7µs making 1 call to strict::import |
12 | 2 | 46µs | 2 | 60µs | # spent 42µs (24+18) within Foswiki::Query::OP_in::BEGIN@12 which was called:
# once (24µs+18µs) by Foswiki::Query::Parser::BEGIN@43 at line 12 # spent 42µs making 1 call to Foswiki::Query::OP_in::BEGIN@12
# spent 18µs making 1 call to warnings::import |
13 | |||||
14 | 2 | 252µs | 1 | 9µs | # spent 9µs within Foswiki::Query::OP_in::BEGIN@14 which was called:
# once (9µs+0s) by Foswiki::Query::Parser::BEGIN@43 at line 14 # spent 9µs making 1 call to Foswiki::Query::OP_in::BEGIN@14 |
15 | 1 | 9µs | our @ISA = ('Foswiki::Query::ConditionalOP'); | ||
16 | |||||
17 | # spent 154µs (71+83) within Foswiki::Query::OP_in::new which was called 3 times, avg 51µs/call:
# 3 times (71µs+83µs) by Foswiki::Query::Parser::new at line 105 of /usr/local/src/github.com/foswiki/core/lib/Foswiki/Query/Parser.pm, avg 51µs/call | ||||
18 | 6 | 69µs | my $class = shift; | ||
19 | 3 | 83µs | return $class->SUPER::new( name => 'in', prec => 500 ); # spent 83µs making 3 calls to Foswiki::Query::ConditionalOP::new, avg 28µs/call | ||
20 | } | ||||
21 | |||||
22 | sub evaluate { | ||||
23 | my $this = shift; | ||||
24 | my $node = shift; | ||||
25 | my $a = $node->{params}[0]->evaluate(@_); | ||||
26 | my $b = $node->{params}[1]->evaluate(@_); | ||||
27 | $b = [$b] unless ref($b) eq 'ARRAY'; | ||||
28 | return scalar( | ||||
29 | grep { | ||||
30 | Foswiki::Query::ConditionalOP::compare( $_, $a, sub { $_[0] == 0 } ) | ||||
31 | } @$b | ||||
32 | ) > 0 ? 1 : 0; | ||||
33 | } | ||||
34 | |||||
35 | 1 | 6µs | 1; | ||
36 | __END__ |