[ https://issues.apache.org/jira/browse/LUCENE-2213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12801433#action_12801433 ]
Marvin Humphrey commented on LUCENE-2213: ----------------------------------------- > if it starts getting used very often for very small arrays, the overhead > will start to matter I think in most cases usage will only occur after an inequality test, when it's known that reallocation will be occurring. In my experience, the overhead of allocation will tend to swamp this kind of calculation. {code} if (needed > capacity) { int amount = ArrayUtil.oversize(needed, RamUsageEstimator.NUM_BYTES_CHAR); buffer = new char[amount]; } {code} > Small improvements to ArrayUtil.getNextSize > ------------------------------------------- > > Key: LUCENE-2213 > URL: https://issues.apache.org/jira/browse/LUCENE-2213 > Project: Lucene - Java > Issue Type: Improvement > Reporter: Michael McCandless > Assignee: Michael McCandless > Priority: Minor > Fix For: 3.1 > > Attachments: LUCENE-2213.patch, LUCENE-2213.patch, LUCENE-2213.patch > > > Spinoff from java-dev thread "Dynamic array reallocation algorithms" started > on Jan 12, 2010. > Here's what I did: > * Keep the +3 for small sizes > * Added 2nd arg = number of bytes per element. > * Round up to 4 or 8 byte boundary (if it's 32 or 64 bit JRE respectively) > * Still grow by 1/8th > * If 0 is passed in, return 0 back > I also had to remove some asserts in tests that were checking the actual > values returned by this method -- I don't think we should test that (it's an > impl. detail). -- 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-unsubscr...@lucene.apache.org For additional commands, e-mail: java-dev-h...@lucene.apache.org