[
https://issues.apache.org/jira/browse/LUCENE-4565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13527378#comment-13527378
]
Shai Erera commented on LUCENE-4565:
------------------------------------
One data point about using a class with methods like getParent(), getChild()
etc. I modified TestDirTaxoWriter.testConcurrency to check the parents too. I
originally called TaxoReader.getParent() and ran with 100 iterations - took 160
seconds to complete all iters. I then modififed the code to get the parents[]
array once, and then do parents[ord] instead, time dropped to 60 seconds.
This is not a benchmark (TaxoReader.getParent() is not optimized to be
inlined), but still a data point to refer to if we'll ever want to consider
that.
> Simplify TaxoReader ParentArray/ChildrenArrays
> ----------------------------------------------
>
> Key: LUCENE-4565
> URL: https://issues.apache.org/jira/browse/LUCENE-4565
> Project: Lucene - Core
> Issue Type: Improvement
> Components: modules/facet
> Reporter: Shai Erera
> Assignee: Shai Erera
> Priority: Minor
> Fix For: 4.1, 5.0
>
> Attachments: LUCENE-4565.patch
>
>
> TaxoReader exposes two structures which provide information about a
> categories parent/childs/siblings: ParentArray and ChildrenArrays.
> ChildrenArrays are derived (i.e. created) from ParentArray.
> I propose to consolidate all that into one API ParentInfo, or
> CategoryTreeInfo (a better name?) which will provide the same information,
> only from one object. So instead of making these calls:
> {code}
> int[] parents = taxoReader.getParentArray();
> int[] youngestChilds = taxoReader.getChildrenArrays().getYoungestChildArray();
> int[] olderSiblings = taxoReader.getChildrenArrays().getOlderSiblingArray();
> {code}
> one would make these calls:
> {code}
> int[] parents = taxoReader.getParentInfo().parents();
> int[] youngestChilds = taxoReader.getParentInfo().youngestChilds();
> int[] olderSiblings = taxoReader.getParentInfo().olderSiblings();
> {code}
> Not a big change, just consolidate more code into one logical place. All of
> these arrays will continue to be lazily allocated.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
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]