Quote:
I can reproduce this here. I tested with 10 users in my user list (just nicknames) and was on channels with just over 4000 nicks total. It is due to the nick color list idle time check, which is triggered very 30 seconds.

mIRC looks through your nick color list entries and matches each of the 4000 nicks against each entry. This is necessary even if an entry does not have idle time checked, since a nick might match a prior non-idle time entry.

So two entries * 4000 nicks would be 8000 comparisons. Then, for each entry that has "user levels" checked, each nick must be individually compared to your entire user list for a best match. If your user list has 10 users in it, that would be 8000 x 10 = 80,000 calls to the routine that performs the (somewhat complex) nick/address/level parsing/matching.

I can't see a way of making it any faster. How big is your user list by the way?


Is this code more effecient than your compiled code? I'm gonna run some tests and get back to you....


Beware of MeStinkBAD! He knows more than he actually does!