Question: I have two Windows 2008 R2 64-bit servers that are identical in pretty much every way. Each of them has an app that basically does a lot of calculations. The hard drive is not really accessed at all. The app is very much CPU bound.

Inexplicably, though, one of the servers is processing 1/3 less data than the other one. 

I checked and rechecked but everything seems to be the same. I've gone tab by tab of CPUZ to make sure that absolutely every last piece of memory and timing is the same - all to no avail. I've checked the affinity of each app to make sure it's utilizing all the CPUs.

Each box has 2 physical CPUs (each of which sports 4 cores).

How can I troubleshoot why the one box is slower than the other?

Answer: 
Much like many IT problems you're going to have to divide the problem, measure and then divide again...

If you can I'd move the hard disk/s of the 'slow' server to the hardware of the 'fast' server, does the problem follow the disks? If yes then you've probably got an OS/filesystem/config issue, if not then maybe you've got some broken/semi-broken hardware.

If the problem did move with the disks then I'd suggest you boot from a CD/ISO-based OS and carry out some form of test suite of CPU, memory and disk then repeat the tests but on the regular disk-based OS, this should hel identify if you have an OS or filesystem problem.

Then basically keep dividing up the problem into areas, kind of 50/50 each time (or as close as you can get anyway).
1 - Update all the drivers.
2 - Check in the system properties -> performance options -> tab Processor Scheduling select adjust best performance of: (Programs) I would think thats probably the better, :) At least check if they are equal in both servers.

If they're equal we'll have to try other thing. :)