Subject: Re: Assymetric network performance on cygwin
From: egor duda <[email-masked]>
To: David Geldreich <[email-masked]>
Cc: [email-masked]
Date: Thu, 24 Oct 2002 21:16:39 +0400

Hi!

Thursday, 24 October, 2002 David Geldreich [email-masked] wrote:

DG>     And I get the following bandwidth (I am on a 100Mbit switched network) !!!

DG> cygwin (ttcp -r -s -fm) <- linux (ttcp -t -s -fm) : 20Mbit
DG> linux (ttcp -r -s -fm) <- cygwin (ttcp -t -s -fm) : 64Mbit

I don't know exactly which APIs ttcp uses, but if it uses select()
while reading the data from network, then it your results are
predictable. Cygwin's select() is much slower than linux' one. Cygwin
source code contains all needed information, if you want to
investigate this further. 

If you're concerned about cygwin performance, i can pinpoint 4 major
possible sources of cygwin slowness compared to, say, linux. They are
fork(), stat(), select() and symlink resolution. Some work is done
from time to time to decrease performance penalty from them, but as
preserving correctness is the goal of higher priority, i wouldn't
expect much progress in this area. Ah, ttys are not blazingly fast
either.

I wish people could understand that performance issues are not the
ones cygwin developers are happily to snatch. Most of those issues are
known for quite a long time and proved rather hard to resolve. So
reports like "program foo works on linux twice as fast compared to
being run on cygwin" is of little value to cygwin developers. Compared
to linux, performance-wise, cygwin is clear looser.

If you'll compare two versions of cygwin and find that old one is
faster than the last one, it can possibly be a signal for action. But
again, there more detailed your analysis is, the more valuable it'll
be for developers.

Egor.            mailto:[email-masked] ICQ 5165414 FidoNet 2:5020/496.19

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/