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