Chris Rorvick wrote:
My program is spending more than 50% of its userland time executing code in glib, and a vast majority of that is split evenly between two functions: g_slist_find() and g_slist_remove_all().
You should probably be using a different data structure. A linked list is not a good choice if you need to search it for particular items often. Perhaps consider a GHashTable or GTree.
-brian