Best Developer Workstation Configuration for Build Performace?
Our developers frequently work in large Visual Studio projects and we often run command-line builds using MSBuild and Nant. These automated processes can involve resetting local SQL Server databases, performing full builds on large hierarchical project structures, and even running automated UI test suites (through Selenium and Watin).
There are lots of performance benchmarks and discussions around ideal machine configurations for gamers. I'm interested in gaining a sense for an optimal machine configuration for professional developers.
Some of the speculative musings I've had include:
1) Can a bad enough video card reduce performance? (I've seen Visual Studio console output slow down a rebuild process when the video card is too entry-leve开发者_JS百科l, for example.)
2) Does it make sense to use a solid-state drive (SSD) for a portion of development? Or even fill machines with extra cheap RAM and partition a 2GB RAM drive and point build activity to happen in that ultra-fast partition?
3) Does the C# compiler take advantage of multiple cores? Can Nant or MSBuild be rigged to take advantage of multiple cores?
Any thoughts along these lines would be appreciated. We spend a lot of time waiting on our workstations even though they're quite beefy already. Our OS, applications, working directories for code, and SQL databases currently all reside on the same large local drive partition and it seems ripe for optimization, but I wanted to gather insights from the community.
Thanks, Jeff
I don't know if you're still looking for an answer, but if nothing else, someone may find this useful in the future. I've been running performance tests to optimize our builds, and here's what I've found:
1) I wouldn't worry much about this, beyond maybe minimizing the build shell. However, my machine has a decent video card, so I can't give you a definite answer.
2) Our tests focused largely on SSD's, and the first thing we learned is they aren't worth it. On machines with enough memory (~12 GB), the SSD's made only a few minutes' difference on an hour-long build. On machines with less memory (~4 GB), the difference was a few minutes greater, but the bottom line was that buying more memory gives you more bang for your buck. That being said, we didn't test for the situation where you're doing a lot of other stuff while the build is running, which I think could give SSD's an edge.
3) Yes. This forum post1 might help you get started.
精彩评论