Select Git revision
-
Henrik (Grubba) Grubbström authored
Malloc(3C) in glibc defaults to having one pool (aka arena) of memory per thread. This means that by default memory released by one thread will not be reused by another thread. This in turn can cause a "pumping" effect where one thread temporarily may use a lot of memory, which causes that thread's arena to grow. If the same code is run again later, but by a different thread, that threads arena will grow even though there's plenty of free memory in the old arena. This means that there's a multiplication effect by the number of active threads. This implements the suggested work-around from the similar bug at http://sourceware.org/bugzilla/show_bug.cgi?id=11261
Henrik (Grubba) Grubbström authoredMalloc(3C) in glibc defaults to having one pool (aka arena) of memory per thread. This means that by default memory released by one thread will not be reused by another thread. This in turn can cause a "pumping" effect where one thread temporarily may use a lot of memory, which causes that thread's arena to grow. If the same code is run again later, but by a different thread, that threads arena will grow even though there's plenty of free memory in the old arena. This means that there's a multiplication effect by the number of active threads. This implements the suggested work-around from the similar bug at http://sourceware.org/bugzilla/show_bug.cgi?id=11261
list-obj-sizes.awk 1.04 KiB