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

Michael McCandless commented on LUCENE-2213:
--------------------------------------------

Thanks Marvin, I fixed the typo.

I don't really like that test, since conceivably (though, unlikely) it could 
fail with a false positive.

So I made a new test case (TestArrayUtil), which in fact uncovered serious 
problems with my first patch, due to overflowing int!  Sigh.  I've fixed those 
problems and the test now passes.  The test measures the amortized copying cost 
over a series of reallocations, and then [somewhat arbitrarily] asserts that 
the cost per element is less than 10.0 through all reallocations up to size 
Integer.MAX_INT.

Also I found one more place where we were assuming ArrayUtil.grow(X) returned 
the same value regardless of type, which is no longer true.  Amazing how tricky 
such a low-level utility function is....

> 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
>
>
> 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

Reply via email to