If you are running w2K or XP, and you have dual processors (real, virtual or core), you can set the affinity and priority of each process. If you put MACH on one processor and any other heavy program on the other and set MACH priority to real-time, the OS will make every other running process wait on MACH, effectively making Mach the only program running (excepting memory use).
Other things to look at are using the drivertest to see how fast your computer can run the port. Note this doesn't mean the software can actually keep up with that speed.
The big thing it to get the task manager up and watch the CPU usage while Mach is running. If the CPU pegs, you're dead meat. A huge buffer is not useful if you are pumping garbage into the front of it.
Also note that not all processors are the same. I am using an old dual P3 processor server to run Mach. With no overclock, the processors run at only 850mhz. Mach is not multi threaded so one processor runs it without breaking a sweat whereas a 1.2ghz VIA chip would peg if you moved the mouse while Mach was runing g-code.
Disable your network while mach is runing and re-enable it to move files around. Use great caution with wireless networks. I find that for tiny g-code files, a thumb drives works beautifully as a transfer/backup mechanism.