构建性能的最佳开发人员工作站配置?
我们的开发人员经常在大型 Visual Studio 项目中工作,并且我们经常使用 MSBuild 和 Nant 运行命令行构建。这些自动化过程可能涉及重置本地 SQL Server 数据库、在大型分层项目结构上执行完整构建,甚至运行自动化 UI 测试套件(通过 Selenium 和 Watin)。
有很多关于游戏玩家理想机器配置的性能基准和讨论。我有兴趣了解专业开发人员的最佳机器配置。
我的一些推测包括:
1)足够糟糕的显卡会降低性能吗? (例如,当显卡太入门级时,我发现 Visual Studio 控制台输出会减慢重建过程。)
2) 在部分开发中使用固态驱动器 (SSD) 是否有意义?或者甚至用额外便宜的 RAM 填充机器,并对 2GB RAM 驱动器进行分区,并在该超快分区中进行点构建活动?
3) C#编译器是否利用了多核? Nant 或 MSBuild 可以被操纵以利用多核吗?
任何沿着这些思路的想法将不胜感激。我们花了很多时间等待我们的工作站,尽管它们已经很强大了。我们的操作系统、应用程序、代码工作目录和 SQL 数据库目前都驻留在同一个大型本地驱动器分区上,优化的时机似乎已经成熟,但我想从社区收集见解。
谢谢, 杰夫
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-level, 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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不知道您是否仍在寻找答案,但如果没有其他事情,将来可能有人会发现这很有用。我一直在运行性能测试来优化我们的构建,这就是我发现的:
1)我不会太担心这个,除了最小化构建 shell 之外。然而,我的机器有一个不错的显卡,所以我不能给你一个明确的答案。
2)我们的测试主要集中在SSD上,我们首先了解到的是它们不值得。在具有足够内存(~12 GB)的机器上,SSD 在长达一小时的构建中仅产生几分钟的差异。在内存较少(约 4 GB)的机器上,差异会大几分钟,但最重要的是,购买更多内存可以让您更划算。话虽这么说,我们没有测试构建运行时您正在做很多其他事情的情况,我认为这可以给 SSD 带来优势。
3)是的。此论坛帖子1可能会帮助您入门。
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.