Which PC specifications have the biggest impact on your compile times? Disk? Clock speed? Number of CPU cores?
Scott Gu also posted about what affects building speed, pointing mainly to I/O resources such as the hard disk.
The factor that I've found makes the biggest difference isn't a physical factor, but a software one: Which anti-virus do you have installed?
Some anti-virus products don't handle software development very well - they see all these application files being rewritten, suspect foul-play and rescan every file every time.
On the other hand, if you're wanting to improve the performance of an existing machine, nothing beats maxing out available memory for a quick win.
Here's some nice research from Scott Hanselman on using multiple CPUs for MSBUild. The speed-ups are pretty dramatic.
Edit: I should note however, that in order to have a good experience using Visual Studio, you need plenty of RAM. :)
My personal experience with a fair-sized C++ code base:
Processor: Pentium 4 HT 3.06 GHz
Memory: 1 GB DDR RAM (PC 2100, so 333 MHz)
Disk: 7200 RPM hard drive (UDMA 100, if memory serves)
Compile time: 50 minutes
Processor: Core i7 720QM (8 logical processors) at 1.6 GHz, turbo boost to 1.73 GHz when all cores are active
Memory: 8 GB DDR3 RAM at 1066 MHz
Disk: 7200 RPM hard drive (SATA 2)
Compile time: 4 minutes (with /MP)
Conclusion: The more processors, the merrier -- even at relatively low clock speeds. An SSD would improve times further, but from observation of the compilation messages, I doubt it would improve it by more than 30 seconds or so.
As far as I remember mainly Processor and Memory. A quick google did reveal various tweaks that can improve compile times.
Joel recently posted about the effect of Solid State Disks on compiles here. Disk speed does generally not improve compile time drastically. However according to this it does have an effect as pointed out by lyngbym.
For building C++ programs, the #1 factor before all else is structural - if the source code is heavily vertically structured, it will have a devastating impact on build times, especially incremental builds. I locally restructured a few portions of a project for a dramatic improvement on a quad-core Xeon. 18 months later and they (the people who own the project) still can't match my wall-clock build times even on Core i7 machines.
The effect (positive or negative) of your software layout multiplies across every member of your team and every build they perform.
Xoreax IncrediBuild is a distributed build system that has made a huge improvement on compile times where I work. (Unfortunately, link times are still pretty long, particularly release builds using whole-program optimization and link-time code generation, but that's to be expected.)