Flushing always after write, will basically get the bytes from the memory and flush to the TCP connection. I think that there is no need to force the flush and let the SO write when needed, then using more memory but less CPU. Make sense?