DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=35012>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND· INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=35012 Summary: [collections] AbstractHashedMap: initial threshold too conservative Product: Commons Version: 3.1 Platform: All OS/Version: other Status: NEW Severity: normal Priority: P3 Component: Collections AssignedTo: commons-dev@jakarta.apache.org ReportedBy: [EMAIL PROTECTED] The (int initialCapacity, float loadFactor) constructor of org.apache.commons.collections.map.AbstractHashedMap calculates the initial resize too threshold conservatively, based on the requested initial capacity instead of the actually chosen initial capacity (which is round up to the next power of too). This could be fixed switching two lines to calculating the initial threshold after rounding up the capacity instead of before: --- AbstractHashedMap.java 2005-05-22 17:04:23.000000000 +0200 +++ AbstractHashedMap-patched.java 2005-05-22 17:08:46.000000000 +0200 @@ -147,4 +147,4 @@ this.loadFactor = loadFactor; - this.threshold = calculateThreshold(initialCapacity, loadFactor); initialCapacity = calculateNewCapacity(initialCapacity); + this.threshold = calculateThreshold(initialCapacity, loadFactor); this.data = new HashEntry[initialCapacity]; A map with an requested capacity of 600 and a load factor of 0.75, will start with an initial array of length 1024. Without the fix, the array will be resized for the first time as soon as there are 450 entries, i.e. the array is less than 45% filled instead of the 75% suggested by the load factor. -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]