[
https://issues.apache.org/jira/browse/LUCENE-1185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christian Kohlschütter updated LUCENE-1185:
-------------------------------------------
Attachment: patch-SegmentTermEnum.diff
The patch.
> [PATCH] Avoid checking for TermBuffer in SegmentTermEnum#scanTo
> ---------------------------------------------------------------
>
> Key: LUCENE-1185
> URL: https://issues.apache.org/jira/browse/LUCENE-1185
> Project: Lucene - Java
> Issue Type: Improvement
> Components: Index
> Affects Versions: 2.3, 2.3.1, 2.4
> Environment: any
> Reporter: Christian Kohlschütter
> Attachments: patch-SegmentTermEnum.diff
>
>
> It seems that SegmentTermEnum#scanTo is a critical method which is called
> very often, especially whenever we iterate over a sequence of terms in an
> index.
> When that method is called, the first thing happens is that it checks whether
> a temporary TermBuffer "scratch" has already been initialized.
> In fact, this is not necessary. We can simply declare and initialize the
> "scratch"-Buffer at the class-level (right now, the initial value is _null_).
> Java's lazy-loading capabilities allow this without adding any memory
> footprint for cases where we do not need that buffer.
> The attached patch takes care of this. We now save one comparison per term.
> In addition to that, the patch renames "scratch" to "scanBuffer", which
> aligns with the naming of the other two buffers that are declared in the
> class.
--
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]