public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: jojelino <jojelino@gmail.com>
To: cygwin@cygwin.com
Subject: Severe performance degradation of writev
Date: Sun, 06 Jul 2014 22:28:00 -0000	[thread overview]
Message-ID: <lpciht$pc5$1@ger.gmane.org> (raw)

2008-07-27  Corinna Vinschen  <corinna@vinschen.de>

        * 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.
Execute following command shows the problem.
svnrdump dump --incremental http://svn.apache.org/repos/asf/subversion 
subversion
cygwin does split writev request into many WSASendTo call and serf 
library sets TCP_NODELAY for socket it uses, a WSASendTo call 
corresponds to a tcp packet.
You can see that http header is sent being splitted when you executed 
above command. Whereas win32 backend of apr library doesn't exhibit such 
behavior by using send call.
-- 
Regards.


--
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

             reply	other threads:[~2014-07-06 22:28 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-06 22:28 jojelino [this message]
2014-07-06 22:35 ` jojelino
2014-07-07 10:10 ` Corinna Vinschen
2014-07-07 13:41   ` Corinna Vinschen
2014-07-09 16:46     ` David Rothenberger
2014-07-09 17:03       ` Corinna Vinschen
2014-07-09 17:19         ` David Rothenberger
2014-07-11 10:35           ` Corinna Vinschen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='lpciht$pc5$1@ger.gmane.org' \
    --to=jojelino@gmail.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).