lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yonik Seeley (JIRA)" <>
Subject [jira] Commented: (LUCENE-1437) Faster skipTo on SegmentTermEnum
Date Tue, 04 Nov 2008 18:38:44 GMT


Yonik Seeley commented on LUCENE-1437:

bq. I can't find anywhere else that uses TermEnum.skipTo so this optimisation now seems somewhat

Right, it does a linear scan, so it's normally best avoided.  It would probably be nice if
it could somehow use the index as IndexReader.terms(term) does when it returns a new TermEnum.

> Faster skipTo on SegmentTermEnum
> --------------------------------
>                 Key: LUCENE-1437
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Index
>    Affects Versions: 2.4
>            Reporter: Mark Harwood
>            Priority: Minor
>         Attachments: fasterSkip.patch
> I've been trying to speed up function I have that involves calling TermEnum.skipTo a
lot on a very large index with many terms.
> This patch avoids excessive object creation of Term objects as part of the default implementation
in the TermEnum base class.
> My tests output with this patch was as follows:
>     Took 1894 ms for 42304 calls to skipTo on index with 182693176 docs 
> and unmodified Lucene 2.4 results were:
>     Took 2438 ms for 42304 calls to skipTo on index with 182693176 docs 
> The logic is based on the existing code in SegmentTermEnum. scanTo(Term term) and avoids
the object construction code found in the TermEnum.skipTo code which repeatedly calls next()
and term() to create Term objects.
> Anyone see any negative side effects in changing this?

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message