Back in 2006 I noticed that my Windows XP machine could not fully use the bandwidth of my ADSL line and also throughput over HSDPA to some servers was less than I expected. As I found out at the time, the fixed and small TCP window size was responsible for the behavior. In Windows XP, things could be tweaked by changing the window size in the registry as I described here. When running some throughput tests with Ubuntu Linux this week with an HSPA 7.2 MBit/s 3G stick, I noticed that no tweaking was necessary to get the full speed.
A quick look with Wireshark revealed why: Unlike Windows XP that has a static window size that is set somewhere around 17 kbytes, Ubuntu sets the TCP window size dynamically. It starts with a modest 5k window and steadily increases it during the file download to over 1 megabyte. Looks like Vista has a similar algorithm as well. Very nice, no more worries about throughput limitations in the future!