lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <>
Subject [jira] Updated: (LUCENE-2401) Improve performance of CharTermAttribute(Impl) and also fully implement Appendable
Date Mon, 19 Apr 2010 10:36:49 GMT


Uwe Schindler updated LUCENE-2401:

    Attachment: LUCENE-2401.patch

Improved patch:

- I added a (commented out) perf test that was used to find the best maximum CharSequence
length, that is always faster than the instanceof checks in Appendable.append(CSQ).
- Because of above tests I changed the max length to 4

I will commit this soon.

> Improve performance of CharTermAttribute(Impl) and also fully implement Appendable
> ----------------------------------------------------------------------------------
>                 Key: LUCENE-2401
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Analysis
>            Reporter: Uwe Schindler
>            Assignee: Uwe Schindler
>             Fix For: 3.1
>         Attachments: LUCENE-2401.patch, LUCENE-2401.patch, LUCENE-2401.patch
> The Appendable.append(CharSequence) method in CharTermAttributes is good for general
use. But like StringBuilder has for some common use cases specialized methods, this does the
same and adds separate append methods for String, StringBuilder and CharTermAttribute itsself.
This methods enable the compiler to directly link the specialized methods and don't use the
instanceof checks. The unspecialized method only does the instanceof checks for longer CharSequences
(>8 chars), else it simply iterates.
> This patch also fixes the required special "null" handling. append() methods are required
by Appendable to append "null", if the argument is null. I dont like this, but its required.
Maybe we should document, that we dont dont support it. Otherwise, JDK's formatter fails with
formatting null.

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:
For additional commands, e-mail:

View raw message