From 2cbd6ccdd61e0eaf7bf3da67dea99f47f34669e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20K=C3=B6hler?= Date: Sun, 2 Mar 2008 22:12:00 +0000 Subject: [PATCH] Improve performance of qof_query_invert(). Prepend terms and reverse once at the end instead of "reverse, prepend, reverse" for each term. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17001 57a11ea4-9604-0410-9ed3-97b8803252fd --- lib/libqof/qof/qofquery.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/lib/libqof/qof/qofquery.c b/lib/libqof/qof/qofquery.c index 0399a4227a..8603d44a81 100644 --- a/lib/libqof/qof/qofquery.c +++ b/lib/libqof/qof/qofquery.c @@ -1022,14 +1022,9 @@ QofQuery * qof_query_invert (QofQuery *q) qt = copy_query_term(cur->data); qt->invert = !(qt->invert); new_oterm = g_list_append(NULL, qt); - - /* g_list_append() can take forever, so let's do this for speed - * in "large" queries. - */ - retval->terms = g_list_reverse(retval->terms); retval->terms = g_list_prepend(retval->terms, new_oterm); - retval->terms = g_list_reverse(retval->terms); } + retval->terms = g_list_reverse(retval->terms); break; /* If there are multiple OR-terms, we just recurse by