4a0dbb5ac8
Use pairing heap instead of red black tree in arena runs_avail. The extra links are unioned with the bitmap_t, so this change doesn't use any extra memory. Canaries show this change to be a 1% cpu win, and 2% latency win. In particular, large free()s, and small bin frees are now O(1) (barring coalescing). I also tested changing bin->runs to be a pairing heap, but saw a much smaller win, and it would mean increasing the size of arena_run_s by two pointers, so I left that as an rb-tree for now. |
||
---|---|---|
.. | ||
internal | ||
jemalloc_defs.h.in | ||
jemalloc_macros.h.in | ||
jemalloc_mangle.sh | ||
jemalloc_protos.h.in | ||
jemalloc_rename.sh | ||
jemalloc_typedefs.h.in | ||
jemalloc.sh |