[ 
https://issues.apache.org/jira/browse/LUCENE-8574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17148963#comment-17148963
 ] 

Michael McCandless commented on LUCENE-8574:
--------------------------------------------

[~zhai7631] does this fix your combinatoric adversarial test case 
({{testFibonacciExpr}})?

I.e. before the fix, that test runs for way too long (days), but after, it runs 
quickly?

I left some small comments on the PR.  Thanks for tackling this!

> ExpressionFunctionValues should cache per-hit value
> ---------------------------------------------------
>
>                 Key: LUCENE-8574
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8574
>             Project: Lucene - Core
>          Issue Type: Bug
>    Affects Versions: 7.5, 8.0
>            Reporter: Michael McCandless
>            Assignee: Robert Muir
>            Priority: Major
>         Attachments: LUCENE-8574.patch, unit_test.patch
>
>          Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> The original version of {{ExpressionFunctionValues}} had a simple per-hit 
> cache, so that nested expressions that reference the same common variable 
> would compute the value for that variable the first time it was referenced 
> and then use that cached value for all subsequent invocations, within one 
> hit.  I think it was accidentally removed in LUCENE-7609?
> This is quite important if you have non-trivial expressions that reference 
> the same variable multiple times.
> E.g. if I have these expressions:
> {noformat}
> x = c + d
> c = b + 2 
> d = b * 2{noformat}
> Then evaluating x should only cause b's value to be computed once (for a 
> given hit), but today it's computed twice.  The problem is combinatoric if b 
> then references another variable multiple times, etc.
> I think to fix this we just need to restore the per-hit cache?
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to