To measure the speed of data transfer through tcp/ip sockets between machines,
say a Linux system acting as the receiver and a Windows system as a sender:
- Open port 6001 (or pick another one) on the Linux machine you will use to run the receiver code.
- Compile dimc_recv.c (with gcc).
- Execute ./dimc_recv -- It will wait for a connection to be made from the other machine.
- On a Windows machine, edit dimc_send.c and fill in the port number (6001) and the
IP number of the Linux machine running the receiver code.
Compile dimc_send.c with Windows Visual Studio (or modify
the code to make it compile with gcc instead).
- Run ./dimc_send, and see how long it takes (the time is printed at the end),
or measure separately with the time command.
- Calculate based on the link speed (e.g., 10 Mbps -- which is ten million
bits, not bytes, per second) what the minimum transfer time is.
If all is well, the test should come pretty close to this number.
Use the Tcl scripts dimc_server.tcl and dimc_client.tcl to perform a self-loop test on your machine
(cheating, since the data never goes out onto the link, so this will
likely report better performance).
Measure the relative time for copying data to disk and copying data
in memory with dimc_disk.c -- just compile and run.
Adjust the filename you want to use for the test before compiling.