transport - some Windows issues
Subject: Transport protocols and bulk file transfer
List archive
- From: Yunhong Gu <>
- To: stanislav shalunov <>
- Cc:
- Subject: some Windows issues
- Date: Thu, 17 Mar 2005 12:36:32 -0600 (CST)
* Gu will collect his ``gotchas'' on programming with Windows. [ETA:
2005-03-18.]
Here are some windows issues for the data transfer tool:
The experiments are based on Windows XP professional version.
1. optimal UDP packet payload size is 1024 bytes. Using 1023 bytes gets similar performance, but with 1025 bytes the performance drops dramatically. (note that this PAYLOAD size, excluding the UDP header.)
2. If using thread, windows thread has different semantics with pthread. However, this may only affect implementation, but not API.
3. certain Windows socket APIs are different from Unix socket. For example, Windows does not have writev/readv, but it provides WSASend/WSARecv with equivalent functionality. In addition, the "select" API of Winsock2 also has different semantics, and it is only applied to socket descriptors.
4. Windows provides QueryPerformanceFrequency() API to read RDTSC, so that you do not need to write a piece of assembly codes to do that. However, I did not measure the performance of this API call.
5. The Winsock2 API is worth to take a look. I think it is more expressive.
6. Overall, it is not hard to translate a *nix network library into Windows. There are less than 5% Window specific codes in UDT. In fact, portabilities between Linux, BSD, and UNIX can also take some time.
- [transport] Proposed agenda for 2005-03-18 transport teleconference, stanislav shalunov, 03/17/2005
- some Windows issues, Yunhong Gu, 03/17/2005
Archive powered by MHonArc 2.6.16.