The poor performance of Linux is caused by interrupt livelock : device drivers will instrument NIC to generate an interrupt whenever the card needs attention (e.g. incoming packet). In case of high traffic rate, it will leads to trouble.
Device polling : the card cannot interrupt the kernel. Very good to improve the perfomance under high traffic load but has some disadvantages in terms of CPU utilisation (on FreeBSD)