|
From: Christoph B. <bar...@or...> - 2007-07-13 09:19:31
|
Am Freitag, 13. Juli 2007 schrieb Julian Seward:
> > after about 10 hours of runtime arena_malloc begins to use more and more
> > of runtime. After 15 hours arena_malloc uses around 25%.
>
> This is after applying your Superblock fix and Hashtable fix, yes?
Yes. Without this fixes this behaviour is hidden behind the other problems.
And it takes 3 days to get to the same position in the program flow.
There are currently 18.000 superblocks allocated. And each 20 seconds a new
one is allocated. However currently the profile looks good, although there
are about 21 comparisons per allocation:
698593 31.5714 anon (tgid:23787 range:0x40327e000-0x405501000) memcheck
(no symbols)
278306 12.5774 memcheck memcheck
vgPlain_arena_malloc
205020 9.2654 memcheck memcheck
vgModuleLocal_search_one_cfitab
129647 5.8591 memcheck memcheck avl_lookup
The source code annotation shows only 2% in the line I posted earlier. And 7%
in
static __inline__
SizeT mk_plain_bszB ( SizeT bszB )
{
return bszB & (~SIZE_T_0x1);
}
however I wonder how this method can take 7%.
Maybe I see something wrong although the graph is still correct. I wait till
the programm spends again 80% of the runtime in arena_malloc and poste the
profile.
Christoph
|
|
From: Christoph B. <bar...@or...> - 2007-07-13 13:26:44
|
Hi, I have new data regarding the problem. First here is the current runtime profile: 1289411 69.6673 memcheck memcheck vgPlain_arena_malloc 156750 8.4693 anon (tgid:23787 range:0x40327e000-0x405501000) memcheck (no symbols) 84038 4.5406 memcheck memcheck vgModuleLocal_search_one_cfitab Nearly 70% are spent in vgPlain_arena_malloc. In arena_malloc.assembly.bz2 one can see the runtime of all assembly instructions. The 70% go to 0x38020fe3 and 0x38020fee. gdb says that 0x38020fe3 is m_mallocfree.c, line 181 and 0x38020fee is line 1010 in the m_allocfree.c.annotated file. These are the two lines I mentioned in the earlier posts. I wonder why the annotated source code does not also show the 70%. I have also updated the graph and one sees new chaotic behaviour after 2.750.000.000 allocations. Christoph |