Chuck Remes <cremes.devlist <at> mac.com> writes: > I ran a *long* test (2 days) using the jemalloc allocator on linux (i.e. replacing the allocator at the > process level). > > It improved the usage and allocation of heap memory by 0mq by about 50%. The heap still slowly grew due to > fragmentation, but with jemalloc the growth was about twice as slow as the standard glibc malloc. This is a > partial win. > > Unfortunately, jemalloc didn't solve the problem. > > Looking deeper into the issue, it looks like the long-term fix is to use a SLAB allocator [1]. [...] > > [1] http://en.wikipedia.org/wiki/Slab_allocation
jemalloc *is* a slab allocator, so you're unlikely to improve the situation much by layering a sub-allocator on top of it. More likely, this change would actually increase fragmentation, for the same basic reason that using multiple arenas in jemalloc increases fragmentation (available memory within a slab from arena 0 is not available to a thread that is assigned to arena 1). Thanks, Jason _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
