Go enables TCP_NODELAY by default. soju flushes each time an IRC message is written, so this probably means we're sending one TCP packet per IRC message. We should check the performance consequences, and consider flushing only after a command has been handled for instance.