0

I have a proprietary java applet for uploading file, and the code is exactly the same on Mac and Windows. My question is why mac machine achieve higher upload rate than windows machine. On average I tried it,

Windows XP : 170,000 kbps

Windows 7 : 80,000 kbps

OSX : 210,000 kbps

All tested with the same file 511 MB, and the same ethernet cable (I plug in and out and change it to different machine just to create the most similar environment I can get) Even between windows, seemed like windows xp has faster upload rate than windows 7.

Any idea? Please let me know if I'm asking on the wrong forum, since this is not really programming question.

note: I did try from this post Why would I get slower uploads on a Windows machine than my Mac? does not help..

5
  • 1
    The chances are that other things are happening in the background. For example, Windows silently downloads Windows Updates, whereas OS X is more overt about it. Windows also reserves a certain portion of your bandwidth to ensure TCP overheads and QoS policies can be maintained, whereas OS X just blindly gives the application what it wants. Do a proper benchmark on NIC throughput and see what the results are.
    – Polynomial
    May 15, 2012 at 19:49
  • Strange that Windows 7 would be slower than XP, which also includes QoS. I suspect a network driver.
    – user3463
    May 16, 2012 at 7:41
  • @RandolphWest yeah you are right? my windows 7 have worse driver than the winxp, but the one I don't understand is between xp and osx, both have gigabit driver, but what would cause that difference about 10-20% difference in speed
    – Andy11
    May 16, 2012 at 16:01
  • That last bit's easy: the network stack on UNIX is superior to Windows, and as @Polynomial said, OS X just shunts traffic as it's needed without the overhead of QoS.
    – user3463
    May 17, 2012 at 2:29
  • 1
    Quite a few drivers on Win7 will be developed under the UMDF, so there are some performance hits incurred when the driver requires a lot of communication with hardware buffers. On KMDF drivers, you have direct access to the physical address space and interrupts on the network interface device. With UMDF drivers, such access has to be delegated through IRPs, DPCs, and the Windows Memory Manager. The upside is that it makes development significantly easier, and the driver much more stable.
    – Polynomial
    May 17, 2012 at 7:35

0

You must log in to answer this question.

Browse other questions tagged .