It depends on several things. Any OS requires lots of tweaking to get good throuput levels. I have had several FreeBSD boxes running Zebra with Intel Dual port 10/100/1000 NICs running at well over 300mbps at 0% CPU. The key is to use Device Polling. Normal interrupt based i/o for a router is terrible and will bog down your CPU alot. Also, NO SMP. It will kill your device polling functionality.
Your major limitations are going to be the PCI bus... if you want more than 133Mb/s (maybe 166, i forget exactly), you need to find a machine with 2+ PCI busses, and prefereably a 64 bit slot on each bus. With a pair of 64bit buses, you should be able to saturate two gigabit interaces without a problem.