When taking the performance of heap_pool as the baseline, the picture painted is mostly the same:
The system time graph in particular demonstrates quite clearly the benefit of avoiding system calls for some value type sizes. Oddly enough, even at 64 Bytes, the size-based approach outperforms raw heap allocations — I have no explanation for that phenomenon1.
- And admittedly, I’m too lazy to look into it. All I can say is that the performance test code very definitely only optimizes up to 32 Byte-sized value types [↩]