/pidgin/main: bedba98d98f2: Change this comment to say that we s...
Mark Doliner
mark at kingant.net
Thu Jan 9 02:23:23 EST 2014
Changeset: bedba98d98f2ac12f7f56a5a35e196240b30f980
Author: Mark Doliner <mark at kingant.net>
Date: 2014-01-08 23:23 -0800
Branch: default
URL: https://hg.pidgin.im/pidgin/main/rev/bedba98d98f2
Description:
Change this comment to say that we should use a single, good-enough data
structure rather than duplicate the data in both a hash table and a linked
list.
This mattered a lot at Meebo where we ran many sessions on few CPUs.
It matters less for normal users... but that shouldn't stop us from making
this better.
diffstat:
libpurple/account.c | 13 ++++++-------
1 files changed, 6 insertions(+), 7 deletions(-)
diffs (23 lines):
diff --git a/libpurple/account.c b/libpurple/account.c
--- a/libpurple/account.c
+++ b/libpurple/account.c
@@ -70,13 +70,12 @@ typedef struct
/* 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.
- * Or maybe use a GTree.
+ * TODO: Instead of linked lists for permit and deny, use a data
+ * structure that allows fast lookups AND decent performance when
+ * iterating through all items. Fast lookups should help performance
+ * for protocols like MSN, where all your buddies exist in your permit
+ * list therefore the permit list is large. Possibly GTree or
+ * GHashTable.
*/
GSList *permit; /**< Permit list. */
GSList *deny; /**< Deny list. */
More information about the Commits
mailing list