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

Earwin Burrfoot commented on LUCENE-3105:
-----------------------------------------

StringInterner is in fact faster than CHM. And is compatible with 
String.intern(), ie - it returns the same String instances. It also won't eat 
up memory if spammed with numerous unique strings (which is a strange feature, 
but people requested that).
In Lucene 4.0 all of this is moot anyway, fields there are strongly separated 
and intern() is not used.

> String.intern() calls slow down IndexWriter.close() and IndexReader.open() 
> for index with large number of unique field names
> ----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-3105
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3105
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: core/index
>    Affects Versions: 3.1
>            Reporter: Mark Kristensson
>         Attachments: LUCENE-3105.patch
>
>
> We have one index with several hundred thousand unqiue field names (we're 
> optimistic that Lucene 4.0 is flexible enough to allow us to change our index 
> design...) and found that opening an index writer and closing an index reader 
> results in horribly slow performance on that one index. I have isolated the 
> problem down to the calls to String.intern() that are used to allow for quick 
> string comparisons of field names throughout Lucene. These String.intern() 
> calls are unnecessary and can be replaced with a hashmap lookup. In fact, 
> StringHelper.java has its own hashmap implementation that it uses in 
> conjunction with String.intern(). Rather than using a one-off hashmap, I've 
> elected to use a ConcurrentHashMap in this patch.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to