Although you have a good machine, you are not doing any striping (RAID)? The usual biggest immediate build issue is file IO, not CPU IO. Get another spindle on your files and it should help. Also, a third drive for swap helps also.
No, I'm not using RAID. I don't think that's very useful. RAID increases sequential read and write speeds but compilation has to deal with lots of little files so it should benefit more from fast search times. RAID in fact adds more latency...
BTW, SSD may not help, esp. now and until the SSDs mature, since they write slow, esp. with lots of random, small file writes.
They write slow-er than they read, but I wouldn't call them slow. Recent SSD's beat Raptor drives on all fronts, and since the search time is a thousand times faster than a HDD I think even a cheaper SSD could outperform them at compilation.
Parallelizing or distributing your builds can have a dramatic effect on time. But, you can only gain that by adding a layer to your build.
I hope Visual Studio 2010 fixes that. And I also hope it puts my 6 GB of RAM to use.
Another thought: RAM drive. Use something like SuperVolume to mitigate the effect of reboots or crashes on data loss.
That's not a bad idea! Data loss is actually not a big issue since I'm using source control and I've already made it a habit to save my work as a patch on a USB stick regularly.