lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Kohlschütter (JIRA) <j...@apache.org>
Subject [jira] Created: (LUCENE-1185) [PATCH] Avoid checking for TermBuffer in SegmentTermEnum#scanTo
Date Fri, 22 Feb 2008 10:26:19 GMT
[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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message