On Jun 30 14:23, Brian Ford wrote: > On Tue, 30 Jun 2009, Warren Young wrote: > > > Corinna Vinschen wrote: > > > What's still not clear is why the ssh process takes so much CPU. > > > > Too many buffer copies? It takes a surprising amount of CPU power to > > fill a gigabit pipe from userland. Double or triple that workload with > > unnecessary copies, and there goes your transfer rate, evaporating on > > the wind.
The data is copied only once, from the application buffer to the underlying WinSock socket buffer and vice versa. There's no additional copy of buffer data in Cygwin. > Even more so for context switches ;-): > > http://www.cygwin.com/ml/cygwin-developers/2007-10/msg00040.html > > although this performance penalty was removed from read/write and friends: > > http://www.cygwin.com/ml/cygwin-developers/2007-12/msg00004.html > > it is still present for send/recv and friends. I removed the sig_dispatch_pending calls from send/recv and friends. Note, however, that this has no influence on the ssh/scp results we were talking about in this thread. ssh/scp are using read/write calls. Anyway, using ssh/scp with the latest from CVS looks much better now. It doesn't eat up all CPU anymore and the performance looks pretty well as far as I can tell. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple