Marshall Schor created UIMA-4206:
------------------------------------
Summary: IntHashSet table expansion should account for removed
items better
Key: UIMA-4206
URL: https://issues.apache.org/jira/browse/UIMA-4206
Project: UIMA
Issue Type: Improvement
Components: Core Java Framework
Reporter: Marshall Schor
Assignee: Marshall Schor
Priority: Minor
Fix For: 2.7.0SDK
When items are removed from the IntHashSet, special "placeholders" take their
place (and take up a slot in the table). When the table needs expanding due to
the load factor, the copying into the new table will drop these placeholders,
thus "reclaiming" the space. Resizing is triggered by the size + nbrRemoved
exceeding the load factor. If the nbrRemoved is >= size, then keeping the same
size table (instead of doubling it's size) will bring the load factor down to
what it would have been in the absence of removes, when the table size was
doubled. Change the reallocate to keep the size in this case (but still do the
copying - which cleans up the removal placeholders).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)