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

Mark Harwood commented on LUCENE-1437:
--------------------------------------

This may now be a valid optimisation but without a use case.
I have subsequently found that I can get significantly better performance 
repeatedly calling IndexReader.docFreq(term) for a large ordered list of terms 
than I can calling TermEnum.skipTo(term) and then TermEnum.docFreq().

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


> Faster skipTo on SegmentTermEnum
> --------------------------------
>
>                 Key: LUCENE-1437
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1437
>             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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to