[ 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org