Reply 40 of 60, by dionb
This question was one I wanted to subject to some empirical comparison, so this evening I sorted out a test system and got cracking. I was only able to test PCI, as getting ISA cards working under Knoppix was a challenge for another day.
Phenom X4 925
Asrock AM2NF3-VSTA (nForce3)
Intel Pro/1000MT GbE
Pentium 3 500E
DFI TA64-B (Via ApolloPro 133A)
Knoppix 5.1.1 (installed onto HDD)
iperf -c xxx.xxx.xxx.xxx -P5 -t30
Throughput measured with iperf on the client, CPU usage the highest value seen in top. No other software running at same time.
NIC Vendor NIC Model Bus Chip Vendor Chip Model Throughput CPU usage
3Com 3C905CX-TX-M PCI 3Com 920-ST06 93.8Mbps 16.2%
3Com 3C905C-TX-M PCI 3Com 920-LU00 94.1Mbps 19.5%
Noname Noname PCI Realtek RTL8139B 94.1Mbps 18.7%
Intel Pro 100/S PCI Intel 82558EY 93.7Mbps 22.8%
Compaq NC3120 PCI Intel SB82558B 93.8Mbps 22.8%
Compaq NC3122 PCI Intel SB82558B 93.9Mbps 23.8%
Fast Line IMI21143 PCI Intel/DEC 21143PD 93.1Mbps 20.2%
Noname 142208+402 PCI Realtek RTL8029AS 9.03Mbps 01.7%
Pretty simple TCP throughput test here, five parallel iperf threads - but one where things like checksum offloading can make a difference.
Actual speed results are close enough to be considered a virtual tie (apart from the 10MbE card). CPU usage does differ significantly though, with the 3C905CX-TX-M clearly utilizing the CPU less than other cards. Surprise result is that the RTL8139B actually beats the Intel and DEC-based cards in this metric. Possibly a more diverse workload would give the Intel NICs a chance to shine, but the only conclusion here is that - at least when running on a relatively fast system and using Linux - you are best off with a late PCI 3Com card, but failing that that a cheapo noname Realtek card is a decent second choice.