[
https://issues.apache.org/jira/browse/LUCENE-4396?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14101296#comment-14101296
]
Michael McCandless commented on LUCENE-4396:
--------------------------------------------
OK I tested on the larger And.tasks:
{noformat}
Report after iter 19:
Task QPS base StdDev QPS comp StdDev
Pct diff
HighAnd3LowNot 12.63 (5.9%) 11.26 (2.0%)
-10.8% ( -17% - -3%)
HighAnd4LowNot 11.41 (5.8%) 10.24 (2.0%)
-10.3% ( -17% - -2%)
HighAnd7LowNot 7.69 (5.4%) 6.95 (1.8%)
-9.7% ( -15% - -2%)
HighAnd9LowNot 7.75 (4.8%) 7.06 (1.6%)
-8.8% ( -14% - -2%)
MedAnd3LowNot 26.09 (4.9%) 23.79 (1.8%)
-8.8% ( -14% - -2%)
HighAnd5LowNot 17.15 (4.4%) 15.81 (1.6%)
-7.8% ( -13% - -1%)
HighAnd6LowNot 16.26 (4.1%) 15.13 (1.4%)
-6.9% ( -11% - -1%)
MedAnd4LowNot 26.69 (3.7%) 25.14 (1.4%)
-5.8% ( -10% - 0%)
HighAnd8LowNot 14.88 (3.2%) 14.13 (1.1%)
-5.0% ( -9% - 0%)
MedAnd7LowNot 18.29 (3.0%) 17.38 (1.1%)
-5.0% ( -8% - 0%)
MedAnd8LowNot 15.96 (3.1%) 15.21 (1.0%)
-4.7% ( -8% - 0%)
HighAnd4MedNot 6.63 (3.0%) 6.32 (1.2%)
-4.7% ( -8% - 0%)
MedAnd5LowNot 23.66 (2.7%) 22.69 (1.1%)
-4.1% ( -7% - 0%)
HighAnd6MedNot 5.16 (2.5%) 4.95 (1.0%)
-3.9% ( -7% - 0%)
HighAnd5MedNot 5.95 (2.3%) 5.73 (1.0%)
-3.7% ( -6% - 0%)
MedAnd9LowNot 16.50 (2.6%) 15.91 (0.9%)
-3.6% ( -6% - 0%)
HighAnd3MedNot 11.60 (2.3%) 11.20 (1.4%)
-3.4% ( -6% - 0%)
MedAnd6LowNot 25.79 (2.6%) 24.91 (1.1%)
-3.4% ( -6% - 0%)
HighAnd7MedNot 4.51 (2.1%) 4.37 (1.0%)
-3.2% ( -6% - 0%)
LowAnd3LowNot 72.70 (2.4%) 70.53 (1.1%)
-3.0% ( -6% - 0%)
MedAnd3MedNot 15.50 (1.9%) 15.04 (1.1%)
-3.0% ( -5% - 0%)
HighAnd3HighNot 3.71 (1.9%) 3.61 (1.4%)
-2.8% ( -5% - 0%)
MedAnd4MedNot 12.83 (1.9%) 12.47 (1.0%)
-2.8% ( -5% - 0%)
LowAnd3MedNot 38.64 (1.8%) 37.79 (1.6%)
-2.2% ( -5% - 1%)
HighAnd8MedNot 4.42 (1.6%) 4.32 (1.0%)
-2.2% ( -4% - 0%)
HighAnd5HighNot 3.44 (1.5%) 3.36 (1.0%)
-2.2% ( -4% - 0%)
MedAnd3HighNot 7.56 (1.4%) 7.42 (1.3%)
-1.9% ( -4% - 0%)
LowAnd5LowNot 47.22 (1.9%) 46.38 (1.7%)
-1.8% ( -5% - 1%)
MedAnd4HighNot 8.43 (1.4%) 8.29 (1.1%)
-1.7% ( -4% - 0%)
LowAnd4LowNot 58.26 (2.3%) 57.28 (1.4%)
-1.7% ( -5% - 2%)
MedAnd5MedNot 14.06 (1.4%) 13.83 (1.1%)
-1.6% ( -4% - 0%)
LowAnd3HighNot 28.74 (2.4%) 28.36 (2.4%)
-1.3% ( -5% - 3%)
LowAnd5MedNot 23.30 (1.5%) 23.01 (1.8%)
-1.3% ( -4% - 2%)
HighAnd4HighNot 4.14 (1.2%) 4.09 (1.1%)
-1.1% ( -3% - 1%)
MedAnd5HighNot 4.83 (1.3%) 4.78 (1.2%)
-1.0% ( -3% - 1%)
LowAnd4HighNot 81.42 (1.8%) 80.63 (2.3%)
-1.0% ( -4% - 3%)
LowAnd4MedNot 33.59 (1.2%) 33.27 (1.2%)
-0.9% ( -3% - 1%)
LowAnd5HighNot 10.79 (2.2%) 10.72 (2.2%)
-0.6% ( -4% - 3%)
LowAnd4HighOr 14.62 (2.6%) 14.61 (2.5%)
-0.1% ( -5% - 5%)
LowAnd3HighOr 17.87 (2.8%) 17.87 (2.4%)
0.0% ( -4% - 5%)
LowAnd5HighOr 15.44 (2.3%) 15.46 (2.5%)
0.1% ( -4% - 5%)
LowAnd4MedOr 27.91 (1.8%) 27.95 (1.8%)
0.1% ( -3% - 3%)
LowAnd5MedOr 19.76 (2.0%) 19.79 (1.6%)
0.1% ( -3% - 3%)
LowAnd3MedOr 35.41 (2.5%) 35.56 (1.9%)
0.4% ( -3% - 4%)
LowAnd3LowOr 72.38 (3.2%) 72.95 (1.2%)
0.8% ( -3% - 5%)
MedAnd3HighOr 5.77 (2.6%) 5.82 (1.5%)
0.8% ( -3% - 5%)
LowAnd5LowOr 44.94 (3.3%) 45.33 (1.4%)
0.9% ( -3% - 5%)
MedAnd5HighOr 6.88 (2.0%) 6.94 (0.9%)
0.9% ( -2% - 3%)
MedAnd4HighOr 7.48 (2.2%) 7.55 (1.1%)
0.9% ( -2% - 4%)
HighAnd7LowOr 5.63 (12.5%) 5.69 (1.2%)
1.0% ( -11% - 16%)
MedAnd6LowOr 27.56 (4.0%) 27.84 (1.2%)
1.0% ( -4% - 6%)
HighAnd3LowOr 9.96 (13.4%) 10.06 (1.3%)
1.0% ( -12% - 18%)
MedAnd8LowOr 19.01 (3.3%) 19.21 (0.9%)
1.1% ( -3% - 5%)
MedAnd9LowOr 17.51 (2.9%) 17.73 (0.8%)
1.3% ( -2% - 5%)
MedAnd5LowOr 22.88 (7.5%) 23.19 (1.1%)
1.3% ( -6% - 10%)
HighAnd8LowOr 12.29 (8.6%) 12.45 (1.1%)
1.3% ( -7% - 12%)
MedAnd7LowOr 20.30 (4.4%) 20.58 (1.0%)
1.4% ( -3% - 7%)
HighAnd9LowOr 10.82 (8.7%) 10.98 (1.1%)
1.4% ( -7% - 12%)
HighAnd6MedOr 6.06 (4.0%) 6.15 (0.9%)
1.4% ( -3% - 6%)
MedAnd3LowOr 26.52 (10.5%) 26.91 (1.2%)
1.5% ( -9% - 14%)
LowAnd4LowOr 53.92 (3.5%) 54.71 (1.6%)
1.5% ( -3% - 6%)
HighAnd6LowOr 15.37 (9.0%) 15.60 (1.1%)
1.5% ( -7% - 12%)
MedAnd4LowOr 27.39 (8.7%) 27.80 (1.3%)
1.5% ( -7% - 12%)
HighAnd5LowOr 17.05 (9.5%) 17.31 (1.3%)
1.5% ( -8% - 13%)
HighAnd4LowOr 25.42 (9.2%) 25.83 (1.1%)
1.6% ( -8% - 13%)
MedAnd4MedOr 10.42 (3.3%) 10.59 (0.8%)
1.6% ( -2% - 5%)
HighAnd9MedOr 3.29 (3.7%) 3.34 (0.8%)
1.6% ( -2% - 6%)
HighAnd4MedOr 7.91 (5.6%) 8.04 (1.0%)
1.7% ( -4% - 8%)
MedAnd5MedOr 8.01 (3.6%) 8.15 (0.8%)
1.7% ( -2% - 6%)
HighAnd5MedOr 5.92 (4.2%) 6.02 (0.9%)
1.7% ( -3% - 7%)
HighAnd8MedOr 3.09 (3.4%) 3.14 (0.8%)
1.7% ( -2% - 6%)
MedAnd3MedOr 13.67 (5.1%) 13.91 (1.1%)
1.8% ( -4% - 8%)
HighAnd4HighOr 2.71 (4.1%) 2.76 (0.9%)
1.9% ( -3% - 7%)
HighAnd5HighOr 2.91 (3.2%) 2.96 (0.8%)
1.9% ( -2% - 6%)
HighAnd3MedOr 8.92 (5.5%) 9.10 (0.9%)
2.0% ( -4% - 8%)
HighAnd3HighOr 4.80 (5.2%) 4.89 (0.9%)
2.0% ( -3% - 8%)
MedAnd6MedOr 4.38 (4.3%) 4.52 (0.7%)
3.2% ( -1% - 8%)
MedAnd6MedNot 7.22 (1.5%) 7.60 (2.4%)
5.3% ( 1% - 9%)
HighAnd6HighOr 1.54 (3.7%) 1.63 (0.9%)
6.2% ( 1% - 11%)
HighAnd6HighNot 3.26 (1.2%) 3.49 (2.2%)
6.8% ( 3% - 10%)
LowAnd6LowNot 44.49 (1.3%) 48.71 (2.4%)
9.5% ( 5% - 13%)
LowAnd7LowNot 33.91 (1.6%) 37.82 (2.6%)
11.5% ( 7% - 15%)
LowAnd6HighNot 10.75 (2.1%) 12.21 (2.5%)
13.5% ( 8% - 18%)
LowAnd6MedNot 22.24 (1.5%) 25.81 (2.1%)
16.0% ( 12% - 19%)
MedAnd6HighNot 4.99 (1.2%) 5.81 (1.6%)
16.4% ( 13% - 19%)
MedAnd7MedNot 7.99 (0.9%) 9.35 (2.3%)
16.9% ( 13% - 20%)
LowAnd7HighNot 12.14 (2.1%) 14.24 (2.3%)
17.3% ( 12% - 22%)
LowAnd8LowNot 30.14 (1.3%) 35.43 (2.0%)
17.5% ( 14% - 21%)
HighAnd8HighNot 2.16 (1.0%) 2.55 (2.2%)
18.0% ( 14% - 21%)
LowAnd9LowNot 31.23 (1.6%) 36.93 (2.6%)
18.3% ( 13% - 22%)
HighAnd9MedNot 4.28 (1.2%) 5.07 (2.4%)
18.5% ( 14% - 22%)
LowAnd6LowOr 44.85 (2.9%) 53.16 (6.0%)
18.5% ( 9% - 28%)
LowAnd8HighNot 8.27 (2.1%) 9.82 (2.8%)
18.7% ( 13% - 24%)
LowAnd7MedNot 18.14 (1.4%) 21.67 (1.6%)
19.4% ( 16% - 22%)
HighAnd9HighNot 1.84 (1.2%) 2.20 (2.3%)
20.0% ( 16% - 23%)
HighAnd7MedOr 4.77 (2.5%) 5.73 (2.2%)
20.1% ( 15% - 25%)
LowAnd7HighOr 8.47 (2.3%) 10.19 (3.0%)
20.3% ( 14% - 26%)
LowAnd6HighOr 10.98 (2.3%) 13.25 (3.0%)
20.7% ( 14% - 26%)
HighAnd7HighNot 3.11 (1.0%) 3.77 (1.8%)
21.1% ( 18% - 24%)
MedAnd8MedNot 6.94 (1.1%) 8.48 (2.3%)
22.2% ( 18% - 25%)
LowAnd9HighOr 7.52 (2.5%) 9.23 (3.1%)
22.7% ( 16% - 29%)
MedAnd7MedOr 4.89 (2.5%) 6.00 (2.9%)
22.8% ( 16% - 28%)
LowAnd9HighNot 7.70 (1.8%) 9.46 (2.5%)
22.9% ( 18% - 27%)
LowAnd8MedNot 16.93 (1.3%) 20.81 (2.3%)
23.0% ( 19% - 26%)
MedAnd7HighNot 4.89 (1.1%) 6.07 (1.8%)
24.0% ( 20% - 27%)
LowAnd8HighOr 8.70 (2.2%) 10.82 (3.4%)
24.4% ( 18% - 30%)
LowAnd7MedOr 16.85 (2.0%) 20.99 (3.2%)
24.5% ( 18% - 30%)
MedAnd9MedNot 7.06 (1.1%) 8.85 (1.9%)
25.3% ( 22% - 28%)
LowAnd7LowOr 36.86 (2.2%) 46.19 (5.2%)
25.3% ( 17% - 33%)
LowAnd6MedOr 21.10 (1.7%) 26.47 (3.2%)
25.4% ( 20% - 30%)
LowAnd8LowOr 29.79 (1.9%) 37.49 (4.6%)
25.8% ( 18% - 32%)
LowAnd9MedNot 13.51 (1.5%) 17.31 (2.6%)
28.1% ( 23% - 32%)
MedAnd9HighNot 3.75 (1.1%) 4.84 (1.7%)
29.1% ( 26% - 32%)
MedAnd8HighNot 3.39 (1.1%) 4.40 (1.7%)
29.8% ( 26% - 32%)
MedAnd6HighOr 4.54 (1.9%) 5.90 (2.4%)
29.9% ( 25% - 34%)
MedAnd8MedOr 10.56 (1.8%) 13.76 (2.7%)
30.3% ( 25% - 35%)
HighAnd7HighOr 2.06 (2.3%) 2.69 (3.2%)
30.3% ( 24% - 36%)
MedAnd7HighOr 4.86 (1.8%) 6.44 (2.3%)
32.5% ( 28% - 37%)
LowAnd8MedOr 15.35 (1.8%) 20.45 (3.1%)
33.2% ( 27% - 38%)
MedAnd9MedOr 3.77 (2.0%) 5.03 (3.0%)
33.4% ( 27% - 39%)
HighAnd8HighOr 1.67 (2.0%) 2.25 (3.2%)
34.3% ( 28% - 40%)
MedAnd8HighOr 4.07 (1.8%) 5.49 (2.7%)
34.8% ( 29% - 39%)
HighAnd9HighOr 1.40 (2.2%) 1.89 (3.4%)
35.1% ( 28% - 41%)
LowAnd9MedOr 11.78 (1.9%) 16.23 (3.3%)
37.8% ( 31% - 43%)
MedAnd9HighOr 2.82 (1.6%) 3.92 (2.3%)
39.1% ( 34% - 43%)
LowAnd9LowOr 25.34 (1.6%) 37.25 (5.9%)
47.0% ( 38% - 55%)
{noformat}
> BooleanScorer should sometimes be used for MUST clauses
> -------------------------------------------------------
>
> Key: LUCENE-4396
> URL: https://issues.apache.org/jira/browse/LUCENE-4396
> Project: Lucene - Core
> Issue Type: Improvement
> Reporter: Michael McCandless
> Attachments: And.tasks, And.tasks, And.tasks, AndOr.tasks,
> AndOr.tasks, LUCENE-4396-simple.patch, LUCENE-4396-simple.patch,
> LUCENE-4396-simple.patch, LUCENE-4396-simple.patch, LUCENE-4396.patch,
> LUCENE-4396.patch, LUCENE-4396.patch, LUCENE-4396.patch, LUCENE-4396.patch,
> LUCENE-4396.patch, LUCENE-4396.patch, LUCENE-4396.patch, LUCENE-4396.patch,
> LUCENE-4396.patch, LUCENE-4396.patch, LUCENE-4396.patch, LUCENE-4396.patch,
> LUCENE-4396.patch, LUCENE-4396.patch, LUCENE-4396.patch, SIZE.perf, all.perf,
> luceneutil-score-equal.patch, luceneutil-score-equal.patch,
> merge-simple.perf, merge-simple.png, merge.perf, merge.png, perf.png,
> stat.cpp, stat.cpp, tasks.cpp, tasks.cpp
>
>
> Today we only use BooleanScorer if the query consists of SHOULD and MUST_NOT.
> If there is one or more MUST clauses we always use BooleanScorer2.
> But I suspect that unless the MUST clauses have very low hit count compared
> to the other clauses, that BooleanScorer would perform better than
> BooleanScorer2. BooleanScorer still has some vestiges from when it used to
> handle MUST so it shouldn't be hard to bring back this capability ... I think
> the challenging part might be the heuristics on when to use which (likely we
> would have to use firstDocID as proxy for total hit count).
> Likely we should also have BooleanScorer sometimes use .advance() on the subs
> in this case, eg if suddenly the MUST clause skips 1000000 docs then you want
> to .advance() all the SHOULD clauses.
> I won't have near term time to work on this so feel free to take it if you
> are inspired!
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]