Just curious, why do you have to "build everything" quite often? Normally it's enough to just build the parts that changed. Perhaps you can improve your build process instead of investing in new hardware?
Reasons for mysterious breakage:
- Compiler Updates - Dependencies getting lost - Code changes (you break things into parts, doesn't mean they work together now).