Scott Perry scperry@ucsd.edu wrote:
(attached: hashtable.addendum.diff) on top of it. This change fixes the performance issue in Client_Destroy and does some code reorganization within the method so it makes more sense. The performance (and organization) issue existed in both the patched and vanilla ngircd branches, and the fix for vanilla is very similar and would result in immediate gains since servers are destroyed much less frequently than users.
Can't fix this in vanilla; since its a single likned list we have to walk it in order to find the previous element in the list (so the client structure can be removed).
I've merged your patch into my tree, ( http://git.breakpoint.cc/cgi-bin/gitweb.cgi?p=fw/ngircd-fw.git;a=shortlog;h=... ), thanks for identifying this issue. Could you please verify that i didn't break anything (i streamlined your change a little)?
Thanks, Florian