3

I am working with a device on a metal cutting machine that communicates using TCP/IP or UDP over Ethernet. I wrote a test program that writes and read ten registers and times how long it takes for the process to take.

On a Windows 7 Professional computer, the test takes on average 200 milliseconds. On a Windows 10 computer, the same test takes on average 320 milliseconds. This is with the same hardware as we installed Windows 7 and Windows 10 on two different hard drives and swap.

My question is what if anything, can I configure on Windows 10 to allow the test to be near the same speed it that it is run using Windows 7? Or is Windows 10 just fundamentally slower. Our suspicion is that it is something security related but we have failed to find any setting that improves the Windows 10 test.

7
  • 3
    This is where WireShark comes in handy, as you can inspect the payload and response packets, and it should help trace where the delay is. It's not the easiest of tools to use though... Oct 25, 2018 at 12:33
  • 1
    @spikey_richie I am aware of Wire shark however how would it determine what causing the problem internally in Windows 10. As far as I am aware it for tracing issues with the path between two devices. Not problems internal to Windows 10. We have the exact same computer, exact same cable, exact same device, the exact same test program. The ONLY difference is a result of booting into Windows 10 versus Windows 7.
    – RS Conley
    Oct 25, 2018 at 13:06
  • What language and versions are you using? 'C', Python, is it in Cygwin, ... Since you've changed OS versions you may have also changed dependent libraries as well. Firewall processing comes to mind if its truly network and Wireshark should be able to let you see if there is latency between packets and what the change is.
    – Hogstrom
    Oct 25, 2018 at 16:31
  • @Hogstrom C# and latest version of .NET 3.5. The same framework version is installed on both WIndows 7 and Windows 10. The ONLY difference is the Operating System. And we tried turning off the firewall and the antivirus and the difference is still present. Either Windows 10 binaries are slower in processing UDP or TCP packets or there some other setting that is different. And something I neglected to add in my questions. Both Hard Drives are fresh installs using the latest ISOs (for 7 and 10) from MSDN.
    – RS Conley
    Oct 26, 2018 at 14:39
  • 1
    @RSConley If this still concerns you and you have the two machines available, you could compare their TCP config by executing 'netsh interface tcp show global' in a cmd window
    – mihalios
    May 29, 2019 at 14:26

1 Answer 1

0

I had a similar issue and it boiled down to the value of the ReceiveBufferSize. It appears that in Win7 the default size is 8KB, whereas in Win10 it is 64KB.

  1. Make sure you're not overriding the buffer size anywhere.
  2. If you don't think you are doing so, then try setting it explicitly to 64KB.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.