RE: [BUG] list implementation too slow.
"Oded Arbel" <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <[email protected]> |
I use list_extract_first to grab messages from the queue, and list_append to add messages to the queue - both are very slow if the list gets too long (a couple of handreds can cause noticable slowing). except for calling list_len on every list_append, I don't use any other list_ functions. I have a debug output on the loops that do append and extract. normally the tight extract loop should extract MAX_MESSAGES in under a second, but as the list grows, it takes it more time to complete the loop. -- Oded Arbel m-Wise Inc. [email protected] Did you know that "if" is the middle of the word "life"? -- from "Apocalypse Now" > -----Original Message----- > From: [email protected] > [mailto:[email protected]]On Behalf Of Paul Keogh > Sent: Thursday, March 21, 2002 12:37 PM > To: 'Kannel-devel (E-mail)' > Subject: RE: [BUG] list implementation too slow. > > > > Lately we've been doing some very high capacity testing on > > Kannel , and > > found out some interesting stuff. mainly as queues (managed > by lists) > > are filling up to over a few hundreds of messages, the boxes start > > thrashing. > > I think this is directly related to the List implementation - > > it's just > > too sssslllloooowwww. when we have more then a few hundreds > > of messages > > in the List, extracting one item can sometimes take anywhere > > from 2 to 4 > > seconds (!!!). > > > > Does any one have any information or experience regarding that ? > > Do you have any insight into which particular list_() functions are > causing this ? Some of the comments in list.c suggest possible > inefficiencies, notably where the list has to grow to accomodate > insert/append operations. Also, all of the list search functions > are linear. > > How are you measuring time spend in functions ? Quantify ? > > >