Mail Archives: cygwin/2006/03/19/08:58:32
Yes! I've confirmed that!
With TCP_NODELAY Cygwin and Linux times are similar.
It seems that there is some issue with the Naggle algorithm on
Windows for sure.
Thanks
Pedro Inacio
On 2006/03/15, at 21:49, Corinna Vinschen wrote:
>
> It looks like this is a TCP_NODELAY issue. You tend to get the
> problem
> if a socket is used "interactively", which means, being used for
> reading
> and writing in arbitrary order.
>
> Unfortunately the Nagle algorithm on Windows is somewhat sluggish.
> I've
> tried your echo_server with and without Nagle disabled. Sending a 17
> Megs file from my Cygwin box to an echo_server on my Linux box takes
> between 4 and 5 seconds.
>
> Sending a 17 Megs file from Linux to an echo_server on Cygwin takes
> about 55 seconds. However, when I disable the Nagle algorithm in the
> echo_server, it takes between 2 and 9 seconds. I don't understand the
> unexact interval, but I also don't see how that could be Cygwin's
> fault.
>
>
> --- echo_server.c.ORIG 2006-03-15 22:37:41.905621200 +0100
> +++ echo_server.c 2006-03-15 22:45:56.597789300 +0100
> @@ -62,6 +62,10 @@ int main(void) {
>
> fcntl(client_fd, F_SETFL, fcntl(client_fd, F_GETFL) | O_NONBLOCK);
>
> + int opt = 1;
> + if (setsockopt(client_fd, IPPROTO_TCP, TCP_NODELAY, &opt, sizeof
> opt) == -1)
> + fprintf(stderr,"setsockopt TCP_NODELAY: %.100s", strerror
> (errno));
> +
> while(1) {
> FD_ZERO(&read_fds);
> FD_ZERO(&write_fds);
>
>
> Corinna
>
> --
> Corinna Vinschen Please, send mails regarding
> Cygwin to
> Cygwin Project Co-Leader cygwin AT cygwin DOT com
> Red Hat
>
> --
> Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
> Problem reports: http://cygwin.com/problems.html
> Documentation: http://cygwin.com/docs.html
> FAQ: http://cygwin.com/faq/
>
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -