This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [ANNOUNCEMENT] Updated: setup.exe (Release 2.871)


On May 31, 2015, at 4:24 AM, Corinna Vinschen <corinna-cygwin@cygwin.com> wrote:
> 
> On May 29 17:49, Steven Penny wrote:
>> On Fri, May 29, 2015 at 8:51 AM, Corinna Vinschen wrote:
>>> - Improved performance in terms of SHA512 checksum computation.
>> 
>> Thanks for this, but how was it done?
> 
> It was embarrassingly simple:

That reminds me of a case I ran into a few months ago.

I have some UDP stream reception code that works perfectly on Linux.  Someone wanted it on Windows, too, so I ported it in an afternoon, a relatively easy task since Winsock is mostly a superset of BSD sockets, and there wasnât much to the app besides Standard C++ and sockets code.

It worked fine on my machine, so I shipped it off, confident that it would work just as well as the Linux version.

Then I start getting field reports about dropped packets whenever the machine wasnât perfectly idle while running the app.

This is not a high data rate application.  With the 8 kiB buffers I was using â a perfectly sensible size for UDP â it would take about 3 ms to overflow a buffer.  Thatâs approximately forever in CPU time, so I felt it was more than adequate, even considering multitasking overheads.

In the end, I had to increase the UDP stack buffers for the Windows port to 64 kiB to get it to work reliably on Windows, which effectively increased the buffer time to ~23 ms.

That means the time-slice delay was somewhere between 3 and 22 ms!  Thatâs on the scale of HDD head seek times, one of the slowest things a computer does!
--
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]