|
From: Nicholas N. <nj...@cs...> - 2007-07-10 22:09:47
|
On Tue, 10 Jul 2007, Christoph Bartoschek wrote: >> Ah, that's interesting. We've had performance problems in m_mallocfree.c >> before now. So I am not (entirely) surprised to see it again. >> >> Can you describe a bit the malloc/free behaviour of your application? >> >> - how many blocks live (approximately) >> - approximately what size >> - are you allocating fast, or slow? >> - approximately what lifetimes? more or less LIFO, or FIFO, or random? >> >> The ultimate aim is to construct a simple test case which shows the >> same performance problem. > > It's hard to answer the code because it is more than ten years old and the > original developers are not here anymore. What would be most useful is a trace of the malloc/free calls. Can you add calls to VG_(printf)() in coregrind/m_mallocfree.c, to the functions VG_(arena_malloc) and VG_(arena_free) (and also the ones for VG_(arena_realloc), VG_(arena_strdup), VG_(malloc_aligned) might be useful). These should print out all the relevant info, eg. the size for malloc(), and the pointer for free(). If you send us a trace of this, hopefully that will let us identify the problem. Thanks. Nick |