I think that a boolean or enum as return value is neater (api wise) than
throwing an expection.

On 7 September 2011 15:34, Anne Veling <a...@beyondtrees.com> wrote:

> Yes, I saw that. I would expect that to be slower. It also would not always
> work as expected if the collector would be combined in a booleanquery I
> guess.
>
> Anne n
>
>
> On Wed, Sep 7, 2011 at 15:29, Robert Muir <rcm...@gmail.com> wrote:
>
>> On Wed, Sep 7, 2011 at 9:09 AM, Anne Veling <a...@beyondtrees.com> wrote:
>> > Ah thanks. I will make the change, ensure all tests are succeeding, add
>> some
>> > tests of my own, and commit a patch. Would be great to get a feeling of
>> the
>> > performance impact.
>> > The change I'm making is changing the Collector interface from
>> > public void collect(int doc) to
>> > public boolean collect(int doc)
>> > With a default "false" return code. If a collector returns "true" the
>> caller
>> > may stop collecting. So all normal collectors would simply return
>> "false".
>> > This could introduce some performance overhead of adding a return value
>> to
>> > the call stack, and some checking in the calling code.
>> > However, for some other use cases, like
>> >
>>
>> usually the trick here to stop collecting is to throw a
>> runtimeexception (your own subclass that you can catch), like
>> timelimitingcollector.
>>
>> --
>> lucidimagination.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>
>>
>
>
> --
> Anne Veling
> BeyondTrees.com
> +31 6 50 969 170
> @anneveling
>
>


-- 
Met vriendelijke groet,

Martijn van Groningen

Reply via email to