&gt; Calling calloc&#x2F;free on a 1 MB buffer seems to take about 50 microseconds on my computer (with no optimizations), and I consider that an unusually large allocation.<p>Do you actually touch it and write to it? If you don&#x27;t the allocation may be provisional and not actually happen until you try to write memory, in which case depending on the system you&#x27;ll either get a COW fault (IIRC linux points the allocation to a zeroed COW page, first time you need to write it&#x27;ll copy the page and let you write in) or a zero-fill fault (e.g. freebsd doesn&#x27;t allocate the BSS by default, write access will cause a zero-fill fault and in response the VM will actually allocate the page — which it can do from a queue of pre-zeroed pages)