Memory allocators typically allocate only certain sizes, so when you request say 1,000 bytes of memory you will likely be allocated 1,024 bytes, a bit more than requested.
My question is "what are the sizes". I think the answer is "powers of two", at least for small to medium requests, for any allocator you would be likely to be using, but I am not quite sure. Can anyone confirm this is the case?
Whether that is up-to-date and accurate I don't know.
Edit: given that it is linked directly from https://jemalloc.net/ as the "manual" page, I think it is likely accurate.
BTW, the reason I am asking is in my BTreeMap I need to choose a default allocation scheme. It seems that using 4 steps to double the node allocation would be a reasonable choice.