Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
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().