On Jul 9 10:17, David Rothenberger wrote: > Corinna Vinschen wrote: > > On Jul 9 09:44, David Rothenberger wrote: > >> Corinna Vinschen wrote: > >>> On Jul 7 12:10, Corinna Vinschen wrote: > >>>> On Jul 7 07:28, jojelino wrote: > >>>>> 2008-07-27 Corinna Vinschen > >>>>> > >>>>> * fhandler_socket.cc (fhandler_socket::send_internal): > >>>>> Send never more then 64K bytes at once. For blocking > >>>>> sockets, loop until entire data has been sent or an error > >>>>> occurs. (fhandler_socket::sendto): Drop code which sends on > >>>>> 64K bytes. (fhandler_socket::sendmsg): Ditto. > >>>>> > >>>>> This commit added workaround for KB823764. but it has > >>>>> brought another performance issue when writev sends <64k of > >>>>> data. > >>>> > >>>> That's why the code contains that FIXME comment. If you have > >>>> a good idea for simple code to split a message into the > >>>> least number of pieces to minimize the number of WsaSendTo > >>>> calls... > >>> > >>> I took a stab at the code and I think the new version improves > >>> writing multiple small buffers a lot. In my testing it still > >>> works in other scenarios, too, but I would be very grateful if > >>> somebody could have a critical look into my code changes as > >>> posted in > >>> https://cygwin.com/ml/cygwin-cvs/2014-q3/msg00003.html > >>> > >>> I uploaded a new developer snapshot to > >>> http://cygwin.com/snapshots/ Please give it a thorough try. > >> > >> FWIW, this snapshot fixed a recent performance degradation for me > >> when doing ssh/rsync transfers within my local network at work. > >> These transfers had run at about 25 MB/s but recently degraded to > >> about 500 kB/s. The snapshot restored the original performance. > > > > Cool. Is the result still intact? It's kind of simple to have > > lots of performance if the code just doesn't send everything... :} > > Details, details. :) Yeah, yeah, I know, I'm nitpicking here ;) > Yeah, I just tried a transfer and verified the checksum of the > transferred file. It worked fine. Thanks! Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat