|
From: | Martin Bonner |
Subject: | Re: [libmicrohttpd] Why MHD latency is so high on Windows? |
Date: | Wed, 18 Nov 2015 15:28:58 +0000 |
In general, TCP_NODELAY is not a catastrophe if you use TCP_CORK to allow the accumulation of partial packets in the kernel.
The good news is that MHD can use TCP_CORK; the bad news is that Windows doesn’t support it :-). However, this link: http://stackoverflow.com/questions/22117205/is-there-an-equivalent-to-tcp-cork-in-winsock appears to have a some sample code that achieves a similar effect. Now all we need is for somebody to create some patches to use that code on Windows, and for Christian to accept them.
(Won’t be me – I only care about linux on ARM.) Von: libmicrohttpd-bounces+address@hidden [mailto:libmicrohttpd-bounces+address@hidden
Im Auftrag von Evgeny Grin Hi! libmicrohttpd was ported to use Windows API directly, so PlibC wrapper is not used anymore. According to MSDN docs there is no TCP_FASTOPEN flag on Windows:
https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms738596(v=vs.85).aspx It also not present in any header file from VS 2010, 2012, 2013, 2015 and in MinGW-w64 headers. How did you compile MHD? MHD currently has no cmake files. Only autotools files for build on Linux/Unix/Darwin/MinGW/Cygwin and Visual Studio 2013 project for Windows builds. If you just add "#define TCP_FASTOPEN 1" to some header, this misled MHD. On Win32 option TCP_NODELAY has value of 1. So instead of enabling TCP_FASTOPEN, you forced MHD to disable Nagle's algorithm (disabling is not recommend according
to MSDN). -- Best Wishes, Evgeny Grin 18.11.2015, 05:44, "silvioprog" <address@hidden>:
|
[Prev in Thread] | Current Thread | [Next in Thread] |