[ 
https://issues.apache.org/jira/browse/SOLR-912?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12786348#action_12786348
 ] 

Noble Paul commented on SOLR-912:
---------------------------------

bq.The performance numbers in here say a different story

I'm not referring to perf numbers here . It is memory efficiency. 

bq. As regarding Entry Objects being a memory hog - do we have some stats to 
back it up. 

We don't need stats for everything. we should know about how VM holds objects . 

Let me illustrate with a case of consider 5 key->values on a 32 bit m/c

NamedList(Backed by arraylist)
one Object []  + array size= 4 + 5 * 2*4 (bytes)  = 44 bytes + the overhead of 
ArrayList

ModernNamedList

one Object[] + 5 entry objects (each has 2 references of 4+4 bytes)+ array size 
() = 4 +  5*2*4 + 5*4  = 64 bytes+ the overhead of ArrayList   

Add to this the overhead of GC'ing 5 entry objects 













> org.apache.solr.common.util.NamedList - Typesafe efficient variant - 
> ModernNamedList introduced - implementing the same API as NamedList
> ----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-912
>                 URL: https://issues.apache.org/jira/browse/SOLR-912
>             Project: Solr
>          Issue Type: Improvement
>          Components: search
>         Environment: Tomcat 6, JRE 6, Solr 1.3+ nightlies 
>            Reporter: Kay Kay
>            Priority: Minor
>         Attachments: NLProfile.java, SOLR-912.patch, SOLR-912.patch
>
>   Original Estimate: 72h
>  Remaining Estimate: 72h
>
> The implementation of NamedList - while being fast - is not necessarily 
> type-safe. I have implemented an additional implementation of the same - 
> ModernNamedList (a type-safe variation providing the same interface as 
> NamedList) - while preserving the semantics in terms of ordering of elements 
> and allowing null elements for key and values (keys are always Strings , 
> while values correspond to generics ). 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to