Details
-
Improvement
-
Status: Resolved
-
Trivial
-
Resolution: Fixed
-
2.7.0SDK
-
None
Description
Several internal array structures in UIMA expand like array lists by doubling, up to some size, usually 2 million entries, and then expand by adding that size (e.g., 2 million) instead of doubling.
The switch-over point for most of these is 2 million entries. Increasing this makes (for large allocations > 2 million) for more wasted space, since, on average, about 1/2 of the last reallocation may be unused On the other hand, having a large allocation size increment means that fewer reallocations are needed (each one requires copying the entries from the old into the new, usually with System.arraycopy).
Given the drop in memory cost, increase the reallocation switch-over limit for the 2 million entries to 16 million, to rebalance a bit more in favor of speed vs memory. Note this has no effect except when the size of these internal tables grows beyond 2 million entries.
Attachments
Issue Links
- is related to
-
UIMA-2385 Improve XmiCasDeserializer performance
- Closed