|
From: Philippe W. <phi...@sk...> - 2010-09-13 20:44:14
|
While implementing a patch to fix quadratic memory usage in m_mallocfree.c (see http://bugs.kde.org/show_bug.cgi?id=250101) I encountered some questions related to the high memory usage by memcheck: First question: memcheck client redzone: ----------------------------------------- Memcheck sets a client redzone (16 bytes IIRC). This is significant for small allocations. What is the purpose of this memcheck client redzone ? (as reading or writing before or after a malloc-ed block will be trapped by the rest of memcheck machinery). Second question: why multiple arenas ? ---------------------------------------- What is the reason to "split" the allocation between client arena and the other (non client) arenas ? When using only one non-client arena, the memory usage by valgrind of a big process decreased of 8%. Has this split "functional" advantages ? Or performance advantages for some cases ? Thanks Philippe Waroquiers |