-
Type:
Improvement
-
Status: Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: Core
-
Labels:None
The problem of incremental array growth affects several of our classes:
CharBuf, ByteBuf, BitVector, VArray, and others yet to be submitted. Ideally,
the growth algorithm should...
- Overestimate by enough to prevent pathological reallocation, but not by
so much as to significantly increase overall memory footprint. - Round up so that allocation requests are multiples of the architecture's
word size. - Grow faster at small sizes.
To apply this logic consistently, we can isolate it in a new function,
Memory_oversize().