Lov*_*ode 12 c# performance visual-studio-2005 visual-studio
我想知道是否有人知道Visual Studio .NET是否有并行构建过程?我有一个包含大量项目的解决方案,每个项目都有很多标记/代码,很多类型等等.只要坐在那里使用intellisense运行它就可以达到大约700MB.但是构建时间真的很慢,而且似乎只有我的两个cpu核心中的一个.
这是否意味着构建过程是单线程的?我的解决方案的构建依赖链不是线性的,所以我不明白为什么它不能并行构建一些项目.我记得Joel Spolsky关于他的新SSD的博客,以及它对编译时间没有帮助,但他没有提到他正在使用哪种编译器.我们正在使用VS 2005.任何人都知道它的编译是如何工作的?在2008/2010,它有什么不同/更好的?
编辑:这里有很多好的回复,但我特别感兴趣的是C#和ASP.NET.不爱我们的网民?
MSBuild(VS用于执行构建,从2005/.NET2开始)支持并行构建.默认情况下,VS会将最大并行度设置为您的处理器数.使用工具| 选项| 项目和解决方案| 构建并运行以覆盖此默认值.
当然,任何一个构建可能具有更多限制(或没有)容量以允许并行构建.例如,解决方案中只有一个程序集不提供并行构建的范围.同样,大量具有大量依赖关系的程序集可能会阻止并行性(A依赖于B,C依赖于A和B,D依赖于C没有并行构建的范围).
(对于C++,在VS 2005和2008中使用自己的构建系统,在2010年C++也将使用MSBuild构建.)
Scott Hanselman 几年前发表了一篇博客文章,详细介绍了使用 Parallel Builds 和 Multicore CPU 使用 MSBuild获得更快的构建,这应该很有趣。他还有一个后续帖子Hack: Parallel MSBuilds from the Visual Studio IDE。
| 归档时间: |
|
| 查看次数: |
2473 次 |
| 最近记录: |