server-skynet-source-3rd-je.../jemalloc
Jason Evans 93443689a4 Add per thread allocation counters, and enhance heap sampling.
Add the "thread.allocated" and "thread.deallocated" mallctls, which can
be used to query the total number of bytes ever allocated/deallocated by
the calling thread.

Add s2u() and sa2u(), which can be used to compute the usable size that
will result from an allocation request of a particular size/alignment.

Re-factor ipalloc() to use sa2u().

Enhance the heap profiler to trigger samples based on usable size,
rather than request size.  This has a subtle, but important, impact on
the accuracy of heap sampling.  For example, previous to this change,
16- and 17-byte objects were sampled at nearly the same rate, but
17-byte objects actually consume 32 bytes each.  Therefore it was
possible for the sample to be somewhat skewed compared to actual memory
usage of the allocated objects.
2010-10-20 17:39:18 -07:00
..
bin Update pprof from google-perftools 1.6. 2010-10-02 11:31:36 -07:00
doc Add per thread allocation counters, and enhance heap sampling. 2010-10-20 17:39:18 -07:00
include/jemalloc Add per thread allocation counters, and enhance heap sampling. 2010-10-20 17:39:18 -07:00
src Add per thread allocation counters, and enhance heap sampling. 2010-10-20 17:39:18 -07:00
test Add per thread allocation counters, and enhance heap sampling. 2010-10-20 17:39:18 -07:00
autogen.sh Implement configuration system. 2009-06-23 19:01:18 -07:00
config.guess Implement configuration system. 2009-06-23 19:01:18 -07:00
config.stamp.in Fix build system problems. 2010-04-07 23:37:35 -07:00
config.sub Implement configuration system. 2009-06-23 19:01:18 -07:00
configure.ac Re-organize prof-libgcc configuration. 2010-10-07 11:59:12 -07:00
COPYING Port to Mac OS X. 2010-09-11 18:20:16 -07:00
INSTALL Fix compiler warnings. 2010-09-20 19:20:48 -07:00
install-sh Implement configuration system. 2009-06-23 19:01:18 -07:00
Makefile.in Add per thread allocation counters, and enhance heap sampling. 2010-10-20 17:39:18 -07:00
README Update documentation. 2010-04-11 19:02:43 -07:00

jemalloc is a general-purpose scalable concurrent malloc(3) implementation.
This distribution is a stand-alone "portable" implementation that currently
targets only Linux.  jemalloc is included as the default allocator in the
FreeBSD and NetBSD operating systems, and it is used by the Mozilla Firefox web
browser on Microsoft Windows-related platforms.  Depending on your needs, one
of the other divergent versions may suit your needs better than this
distribution.

The COPYING file contains copyright and licensing information.

The INSTALL file contains information on how to configure, build, and install
jemalloc.

URL: http://www.canonware.com/jemalloc/