I plan to DIY a x86 router. Need to add another NIC. There are two options. One is PCIe 2.0 x1 NIC, the other is USB 3.0 NIC. I want to know if there is any performance difference. I mean assuming same throughput like 940 Mbps, which one has lower CPU usage. Does anyone has similar experience?
If board and case allow it (reasonably easily), I would always prefer PCIe over USB 3.0.
While good USB 3.0 cards will give you full 1000BASE-T wirespeed (non-good™ ones might not), that is easier to accomplish with just about 'any' PCIe card (albeit not 32 bit (legacy-) PCI). From a mechanical perspective, PCIe tends to win as well, as the card firmly screws into the case and can't get dislodged (the later may not be a problem in a home environment, but imagine a professional setting with cleaning staff and only untrained on-site personnel)
Another vote for PCIe.
Network cards in expansion card format has been around for decades, so development/design is pretty commonplace and hard to go wrong.
Last time I checked a while back,
The Intel cards used less resources than those of Realtek.
Realtek's r8168 PCIe cards (driven by the r8169) are not as bad as their predecessors (rtl8029/ rtl8139), which brought them their reputation (and actually the linux drivers were better than their own windows drivers). At least for 1000BASE-T, you'd be hard pressed to find an x86_64 PCIe system where r8168 can't deliver full speed, while intel, marvell, broadcom could - around and above 5GBASE-T would be a different topic (as there hardware offloading starts to play a big role again).
Hi.
Yes another vote for PCIe, you will have a rock solid result. Other users have already provide argumentation.
Realtek is pretty common on motherboard or addon cars. Intel cards can be found easily too, and are more professional (dual/quadri NICs card). I'm using both vendors cards on various routers, full speed ahead.
I would consider an USB NIC just as a failsafe or temporary possibility.