No description
Find a file
Jason Evans 807a9a3e17 Fix decommit-related run fragmentation.
When allocating runs with alignment stricter than one page, commit after
trimming the head/tail from the initial over-sized allocation, rather
than before trimming.  This avoids creating clean-but-committed runs;
such runs do not get purged (and decommitted as a side effect), so they
can cause unnecessary long-term run fragmentation.

Do not commit decommitted memory in chunk_recycle() unless asked to by
the caller.  This allows recycled arena chunks to start in the
decommitted state, and therefore increases the likelihood that purging
after run deallocation will allow the arena chunk to become a single
unused run, thus allowing the chunk as a whole to be discarded.

This resolves #766.
2017-04-18 12:08:28 -07:00
bin Pass retain and exclude parameters to /pprof/symbol. 2016-01-29 19:59:06 -08:00
build-aux Update config.{guess,sub} from upstream. 2016-11-10 15:08:32 -08:00
doc Fix/enhance THP integration. 2017-02-28 14:25:06 -08:00
include Alphabetize private symbol names. 2017-02-28 15:06:27 -08:00
msvc Repair file permissions. 2017-02-22 00:24:32 -08:00
scripts Beef up travis CI integration testing 2017-02-21 12:45:59 -08:00
src Fix decommit-related run fragmentation. 2017-04-18 12:08:28 -07:00
test Fix/enhance THP integration. 2017-02-28 14:25:06 -08:00
.appveyor.yml CI: Run --enable-debug builds on windows 2017-02-23 10:06:15 -08:00
.autom4te.cfg Disable autom4te cache. 2014-09-02 17:49:29 -07:00
.gitattributes fix git handling of newlines on windows 2014-05-07 18:48:39 -04:00
.gitignore Add MS Visual Studio 2015 support 2016-02-20 10:55:23 -08:00
.travis.yml Beef up travis CI integration testing 2017-02-21 12:45:59 -08:00
autogen.sh Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
ChangeLog Update ChangeLog for 4.5.0. 2017-02-28 16:21:05 -08:00
config.stamp.in Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
configure.ac Fix/enhance THP integration. 2017-02-28 14:25:06 -08:00
COPYING Update copyright dates for 2016. 2016-02-28 15:20:40 -08:00
coverage.sh Add test code coverage analysis. 2013-12-06 18:50:51 -08:00
INSTALL Fix/enhance THP integration. 2017-02-28 14:25:06 -08:00
jemalloc.pc.in Update project URL. 2016-11-02 21:42:16 -07:00
Makefile.in restructure *CFLAGS configuration. 2017-02-28 12:54:40 -08:00
README Update project URL. 2016-11-02 21:42:16 -07:00

jemalloc is a general purpose malloc(3) implementation that emphasizes
fragmentation avoidance and scalable concurrency support.  jemalloc first came
into use as the FreeBSD libc allocator in 2005, and since then it has found its
way into numerous applications that rely on its predictable behavior.  In 2010
jemalloc development efforts broadened to include developer support features
such as heap profiling, Valgrind integration, and extensive monitoring/tuning
hooks.  Modern jemalloc releases continue to be integrated back into FreeBSD,
and therefore versatility remains critical.  Ongoing development efforts trend
toward making jemalloc among the best allocators for a broad range of demanding
applications, and eliminating/mitigating weaknesses that have practical
repercussions for real world applications.

The COPYING file contains copyright and licensing information.

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

The ChangeLog file contains a brief summary of changes for each release.

URL: http://jemalloc.net/