3fa9a2fad8
Use chains of cached objects, rather than using arrays of pointers. Since tcache_bin_t is no longer dynamically sized, convert tcache_t's tbin to an array of structures, rather than an array of pointers. This implicitly removes tcache_bin_{create,destroy}(), which further simplifies the fast path for malloc/free. Use cacheline alignment for tcache_t allocations. Remove runtime configuration option for number of tcache bin slots, and replace it with a boolean option for enabling/disabling tcache. Limit the number of tcache objects to the lesser of TCACHE_NSLOTS_MAX and 2X the number of regions per run for the size class. For GC-triggered flush, discard 3/4 of the objects below the low water mark, rather than 1/2. |
||
---|---|---|
.. | ||
doc | ||
include/jemalloc | ||
src | ||
autogen.sh | ||
cfghdrs.stamp.in | ||
cfgoutputs.stamp.in | ||
config.guess | ||
config.sub | ||
configure.ac | ||
COPYING | ||
INSTALL | ||
install-sh | ||
Makefile.in | ||
README |
jemalloc is a general-purpose scalable concurrent malloc(3) implementation. The INSTALL file contains information on how to configure, build, and install jemalloc.