6 ms·
I had an attempt to improve performance of memory allocation with the use of arenas in Go and I chose freelist datastructure[1] It almost doesn't use unsafe ex
by Snawoot 1y ago
I had an attempt to improve performance of memory allocation with the use of arenas in Go and I chose freelist datastructure[1]
It almost doesn't use unsafe except one line to cast pointer types. I measured practical performance boost with "container/list" implementation hooked to my allocator. All in all it performs 2-5 times faster or up to 10 times faster if we can get rid[2] of any and allocations implied by the use of it.
All in all, heap allocations can be not that bad at all if you approach them from another angle.
[1]: https://github.com/Snawoot/freelist https://github.com/Snawoot/freelist
[2]: https://github.com/Snawoot/list https://github.com/Snawoot/list