Open ericcurtin opened 4 years ago
It might be worth considering only allocating strings of a capacity that is a power of two (including header) to reduce memory fragmentations:
A simple code snippet to round up to the next power of two:
unsigned int v; // compute the next highest power of 2 of 32-bit v --v; v |= v >> 1; v |= v >> 2; v |= v >> 4; v |= v >> 8; v |= v >> 16; ++v;
I can make the code contribution if you'd like.
How much does this really help with fragmentation? It would also be more efficient to go for an approach using CLZ to calculate the next power of two, if supported.
It might be worth considering only allocating strings of a capacity that is a power of two (including header) to reduce memory fragmentations:
A simple code snippet to round up to the next power of two:
I can make the code contribution if you'd like.