lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yonik Seeley (JIRA)" <j...@apache.org>
Subject [jira] Updated: (LUCENE-1607) String.intern() faster alternative
Date Thu, 14 May 2009 00:54:45 GMT

     [ https://issues.apache.org/jira/browse/LUCENE-1607?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Yonik Seeley updated LUCENE-1607:
---------------------------------

    Attachment: LUCENE-1607.patch

Here's a slightly updated patch (javadoc and StringHelper.intern() convenience method).

The method of plugging a different StringInterner implementation would be to simply assign
to the static in StringHelper.

{code}
  /**
   * Expert:
   * The StringInterner implementation used by Lucene.
   * This should never be changed after other Lucene APIs have been used.
   */
  public static StringInterner interner = new SimpleStringInterner(1024,8);
{code}

Are people comfortable with this approach?  How about the defaults?  This should speed up
anyone with under thousands of field, and only slightly slow down someone with over thousands
of fields (until they plugged in a new interner with a bigger table size).



> String.intern() faster alternative
> ----------------------------------
>
>                 Key: LUCENE-1607
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1607
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Earwin Burrfoot
>             Fix For: 2.9
>
>         Attachments: intern.patch, LUCENE-1607.patch, LUCENE-1607.patch, LUCENE-1607.patch,
LUCENE-1607.patch, LUCENE-1607.patch, LUCENE-1607.patch, LUCENE-1607.patch, LUCENE-1607.patch
>
>
> By using our own interned string pool on top of default, String.intern() can be greatly
optimized.
> On my setup (java 6) this alternative runs ~15.8x faster for already interned strings,
and ~2.2x faster for 'new String(interned)'
> For java 5 and 4 speedup is lower, but still considerable.

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