   Do I have to turn TCP_CORK off?
  It seems that if I don't turn TCP_CORK off, it will cancel most of the effect of TCP_NODELAY, as described in this man page:http://linux.die.net/man/7/tcpI don't know if it's typically turned off by default.   
  TCP_CORK is never turned on by default. It is a Linux-specific extension, used for programmers that are too lazy to buffer on their own. Note that if you already have sent some data on the socket, there's no guarantee for how much buffer space there really is for buffering. Personally, I would rather improve the app-level buffering code than using TCP_CORK (but when calling binary libraries, you sometimes don't have that choice).   ;  Thanks   