GNOME Bugzilla – Bug 110259
filter-aggregate handling is inefficient
Last modified: 2006-06-18 05:10:44 UTC
When tracking down #110256, I got this backtrace:
+ Trace 35720
the problem is with filter_aggregate_test_article_impl, which tests each article in the array article-by-article. The individual calls to the other filters may have extra expense with them (such as the mutex locking in score.c via filter-score.c), so it would be better if filter-aggregate applied its children's tests in batches.
stated more correctly, the problem lies with filter_aggregate_test_articles(), which shouldn't lose its advantage of having a batch of article by delegating work down to filter_aggregate_test_article_impl(). filter_aggregate_test_article_impl() should be removed, and its bits absorbed into filter_aggregate_test_articles().
Fixed in CVS: http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&subdir=pan/pan/filters&command=DIFF_FRAMESET&file=filter-aggregate.c&rev1=1.14&rev2=1.15&root=/cvs/gnome http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&subdir=pan/tests&command=DIFF_FRAMESET&file=test-filter.c&rev1=1.12&rev2=1.13&root=/cvs/gnome http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&subdir=pan&command=DIFF_FRAMESET&file=ANNOUNCE.html&rev1=1.113&rev2=1.114&root=/cvs/gnome