Hacker News new | ask | show | jobs
by Matheus28 3933 days ago
To be honest, I'd consider the entire benchmark void.

It really depends on how heap allocation is implemented, so it's hard to compare. By using memory pools, you can allocate a huge block of memory at once from the OS (a small initial cost), and lazily initialize the values. Which brings you: 1. Cache locality. 2. A lot less fragmentation.

I'd rank it as:

1. Stack allocation (essentially free)

2. Memory pool (a small hit every once in a while)

3. Heap allocation (significant overhead compared to the other ones)