This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: select() too slow

On Tue, Mar 14, 2006 at 09:42:25PM +0000, Pedro Inacio wrote:
>I'm goin to explain everything step by step in order to be now doubts.
>One computer with dual boot, Linux in one partition and Windows with  
>Cygwin installed on another partition.
>Boot on Linux compile echo_server.c, run it and it will listen on tcp  
>port 12345
>Imagine that the IP address of the system is
>Go to some other Linux system on the network, create or choose some  
>"big_file" you have there and run:
>time cat big_file | nc -w 1 12345 > /tmp/output
>Ok, before w is a dash, it's a matter of charset encoding.
>What this command will do is it will cat the big_file and send data  
>via nc (netcat) to the system where the echo_server is running, then  
>the echo_server receives the data and sends it back. When done you  
>will see how much time that process toke. The value 1 after w is to  
>disconnect nc after 1 second of timeout.
>This process, sending a 100 MB big_file takes 22 seconds on Linux.
>Now boot on Windows, and imagine that the IP address is,  
>run Cygwin compile echo_server.c, run it and do the same.
>The same process takes now 4 minutes sending the same big_file.

I don't have any 100MB files sitting around but when I tried this on a
14MB file, I find that cygwin is about 2X slower, not an order of
magnitude slower.  Taking away the pipe and using regular file redirection
makes things a little faster on cygwin.

So, I can't explain why you are seeing such extreme slowdowns.  I am using
the equivalent of a snapshot in my tests, however.  Maybe that's the


Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]