pidgin: b7910055: Add a note that we should use hash table...

markdoliner at pidgin.im markdoliner at pidgin.im
Wed Feb 11 21:35:30 EST 2009


-----------------------------------------------------------------
Revision: b79100551ea19cf35ee8952a34a44b97204e75f3
Ancestor: f25098a2d77f411e2436ce8e02d7cd70d99fb6a7
Author: markdoliner at pidgin.im
Date: 2009-02-12T02:33:05
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/b79100551ea19cf35ee8952a34a44b97204e75f3

Modified files:
        libpurple/account.h

ChangeLog: 

Add a note that we should use hash tables for the permit and deny lists.
I don't think we'll be able to make this change until we break binary
compatibility for 3.0.0.

-------------- next part --------------
============================================================
--- libpurple/account.h	c58af3eec1c7ad35377ffe5bd10428ac67e30af7
+++ libpurple/account.h	b5ac1fd07c64346c903be66c67ba0cc1a1bfeb3a
@@ -132,6 +132,14 @@ struct _PurpleAccount
 								/*   to NULL when the account inherits      */
 								/*   proxy settings from global prefs.      */
 
+	/*
+	 * TODO: Supplementing the next two linked lists with hash tables
+	 * should help performance a lot when these lists are long.  This
+	 * matters quite a bit for protocols like MSN, where all your
+	 * buddies are added to your permit list.  Currently we have to
+	 * iterate through the entire list if we want to check if someone
+	 * is permitted or denied.  We should do this for 3.0.0.
+	 */
 	GSList *permit;             /**< Permit list.                           */
 	GSList *deny;               /**< Deny list.                             */
 	int perm_deny;              /**< The permit/deny setting.               */


More information about the Commits mailing list