Performance tweak: rem. pointless recursive calls
authorPetr Bena <benapetr@gmail.com>
Wed, 23 Sep 2015 14:07:16 +0000 (16:07 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Thu, 8 Oct 2015 22:02:34 +0000 (00:02 +0200)
commit37d656ce099441de15b3015e95ec088079b43e73
tree97956659a9438ebb07f1800fcf134abc8f686656
parentd6dd4ff24cade95ed49570786c8b81f10c6bddce
Performance tweak: rem. pointless recursive calls

For some reason there was an extra call to IrcChannel::joinIrcUser
from IrcUser::joinIrcChannel. That means that in past we did:

* Call to                         IrcChannel::joinIrcUsers(...)
* From there we call              IrcUser::joinIrcChannel(this)
* And from there we called        IrcChannel::joinIrcUser(this)
* Which again called              IrcChannel::joinIrcUsers(list that contained only this 1 user)
* Which figured out this user is already in this channel and exits

That is a pointless overhead, so now we call the second function with
extra parameter that tells it not to call joinIrcUser because we know
this user doesn't need to be added there, thus saves few thousands of
pointless function calls and user list contructions, especially while
joining large channels.
src/common/ircchannel.cpp
src/common/ircuser.cpp
src/common/ircuser.h