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] Issue Comment Edited: (LUCENE-1607) String.intern() faster alternative
Date Mon, 20 Apr 2009 15:55:48 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-1607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12700827#action_12700827
] 

Yonik Seeley edited comment on LUCENE-1607 at 4/20/09 8:55 AM:
---------------------------------------------------------------

bq. lack of collision resolve

My version was the most basic... a simple cache that is not guaranteed to always hit.  I also
wanted to keep the overhead very low in case of misses (hence no re-probing).  In the best
case, I don't think one can get much faster... and in the worst case it won't be much slower
than simple String.intern().  There could be other implementations that do resizing of course.

bq. It'll break on non-power-of-two sizes. 

The size is guaranteed to be a power of two by the constructor.

      was (Author: yseeley@gmail.com):
    bq. lack of collision resolve

My version was the most basic... a simple cache that is not guaranteed to always hit.  I also
wanted to keep the overhead very low in case of misses (hence no re-probing).  In the best
case, I don't think one can get much faster... and in the worst case it won't be much slower.
 There could be other implementations of course...

bq. It'll break on non-power-of-two sizes. 

The size is guaranteed to be a power of two by the constructor.
  
> 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
>
>
> 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