Florian Weimer
unread,Jul 20, 2018, 2:46:56 PM7/20/18Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Bryan C. Mills, dahan...@gmail.com, r...@golang.org, golang-dev
On 07/19/2018 09:58 PM, 'Bryan C. Mills' via golang-dev wrote:
> The research on fragmentation is old, but the myth persists. 🙂
> If you want something you can cite, /The Memory Fragmentation Problem:
> Solved? /(Johnstone & Wilson '98) is a good and relatively short read.
That paper doesn't really explain the good performance of
size-segregated allocators such as tcmalloc. I don't think the version
of Doug Lea's malloc discussed in the paper performs any allocation
segregation at all (at least as relevant to the benchmarks). It's using
a single heap with per-object headers, and only the free lists are
separated by size.
We happen to have a dlmalloc-derived system allocator, and it seems to
have issues related to fragmentation, but we don't know yet to what
extent this is caused by performance hacks which cause the allocator to
postpone coalescing of neighboring free blocks (something the (current)
dlmalloc allocator is very good at).
Thanks,
Florian