Additionally, in C++, requesting that heap memory also requires a syscall every time the container geometrically changes size
That is not true - no allocator I know of (and certainly not the default glibc allocator) allocates memory in this way. It only does a syscall when it doesn’t have free userspace memory to hand out but it overallocates that memory and also reuses memory you’ve already freed.
Comments
That is not true - no allocator I know of (and certainly not the default glibc allocator) allocates memory in this way. It only does a syscall when it doesn’t have free userspace memory to hand out but it overallocates that memory and also reuses memory you’ve already freed.
Wasn't there also over allocate for the first geometric expansion and mark the 2nd as for space for likely shortlived objects?