Re: [Evolution-hackers] vfolder performance problems



On Sun, 2005-04-17 at 01:31 -0400, Lee Revell wrote:
> On Sat, 2005-04-16 at 02:58 -0400, Lee Revell wrote:
> > I have found the bug that has been causing severe performance problems
> > with vfolders, "Unread Mail" in particular.
> > 
> 
> This patch fixes the problem by only searching the message list if the
> user has typed something in the search bar.  I'm not sure it's the right
> fix, but it drastically improves performance for me.

Actually the previous patch does not completely solve the problem.  The
junk flag is still checked on every message every time the message list
is regenerated.  Since there's still a search associated with the
default view, nothing gets rendered until the entire message list is
generated.

Since "hidejunk" isn't configurable yet, and incurs a severe performance
penalty, this just disables it.

Combined with the previous patch this speeds up mail browsing by several
orders of magnitude.  Switching folders is now instantaneous.

Index: evolution/mail/message-list.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/message-list.c,v
retrieving revision 1.414
diff -u -r1.414 message-list.c
--- evolution/mail/message-list.c	1 Apr 2005 00:17:24 -0000	1.414
+++ evolution/mail/message-list.c	17 Apr 2005 06:27:33 -0000
@@ -2867,7 +2867,8 @@
 		gconf = mail_config_get_gconf_client ();
 		hide_deleted = !gconf_client_get_bool (gconf, "/apps/evolution/mail/display/show_deleted", NULL);
 		message_list->hidedeleted = hide_deleted && !(folder->folder_flags & CAMEL_FOLDER_IS_TRASH);
-		message_list->hidejunk = junk_folder && !(folder->folder_flags & CAMEL_FOLDER_IS_JUNK) && !(folder->folder_flags & CAMEL_FOLDER_IS_TRASH);
+		//message_list->hidejunk = junk_folder && !(folder->folder_flags & CAMEL_FOLDER_IS_JUNK) && !(folder->folder_flags & CAMEL_FOLDER_IS_TRASH);
+		message_list->hidejunk = 0;
 		
 		load_hide_state (message_list);
 		if (message_list->frozen == 0)





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