[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [leafnode-list] Another speed issue with 2.0b8_ma4



Raymond Scholz <rscholz@xxxxxx> writes:

> LIST ACTIVE for about 100 groups takes 5 secs for
> 2.0b8_ma-pre3-WIP-20010509 but 35 secs with 2.0b8_ma4
>
> Tested with a file like
>
> LIST ACTIVE de.comp.gnu
> LIST ACTIVE gnu.emacs.gnus

That's probably because rereadactive() unconditionally calls
readlocalgroups() (not bad), -+-> insertgroup() -> bsearch()
                              +-> mergegroups() -> qsort(active).

At least the most time-consuming qsort() call can be easily avoided in
the most common case of an empty "newgroup" list.
                                               
Changing (mergegroups()) activutil.c:107:

    l = newgroup;

to:

    if ((l = newgroup) == NULL) return;

will avoid useless sorting.

Stefan


-- 
leafnode-list@xxxxxxxxxxxxxxxxxxxxxxxxxxxx -- mailing list for leafnode
To unsubscribe, send mail with "unsubscribe" in the subject to the list