[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
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]