提高ASP.NET / C#编译速度的最佳方法是什么?

时间:2008-09-21 19:26:26

标签: c# .net asp.net

更新:请将您的答案集中在硬件解决方案上。

您使用哪些硬件/工具/加载项来改进ASP.NET编译和首次执行速度?我们正在研究固态硬盘以加快速度,但现在价格非常高。

我现在在RAID 0中有两个7200rpm硬盘,我对性能不满意了。

所以我的主要问题是,当您进行大量调试时,目前提高ASP.NET编译速度和整体开发性能的最佳成本效率是什么?

Scott Gu有一篇非常好的博客文章,任何人都有其他建议吗?

http://weblogs.asp.net/scottgu/archive/2007/11/01/tip-trick-hard-drive-speed-and-visual-studio-performance.aspx

9 个答案:

答案 0 :(得分:11)

要做的一件重要事情是保持卸载不常更改的程序集的项目。发生更改时,加载它,再次编译和卸载。它在大型解决方案中产生巨大差异。

答案 1 :(得分:4)

首先确保您使用Web Application Projects(WAP)。根据我们的经验,与网站项目相比,WAP的编译速度大约快了10倍。

然后,考虑将所有逻辑(包括复杂的UI组件)迁移到单独的库项目中。 C#编译器的方式比ASP.NET编译器快(至少VS2005)。

答案 2 :(得分:1)

如果您有许多第三方“参考装配”,确保除了Web应用程序项目之外的所有项目的CopyLocal = False都会产生很大的不同。

我在博客中写到了我通过做出这个简单的改变而获得的性能提升:

Speeding Up your Desktop Build - Part 1

答案 3 :(得分:0)

您可以预编译网站,这将使首次运行体验更好

http://msdn.microsoft.com/en-us/library/ms227972.aspx

答案 4 :(得分:0)

我从网站切换到网络应用程序。编译时间至少减少了十倍。

另外,如果可能,我尽量不使用调试器(“不运行调试”)。这减少了启动Web应用程序所需的时间。

答案 5 :(得分:0)

我建议您尽可能多地为PC添加内存。如果您的解决方案超大,您可能需要探索64位,这样您的机器可以处理超过3GB的内存。

Visual Studio 2008 SP1似乎比以前的版本明显更快,确保您使用Service Pack运行最新版本。

祝你好运!

答案 6 :(得分:0)

如果您纯粹关注硬件,则需要在网络上搜索基准。有一些文章只是关于Visual Studio编译的硬件性能,我只是懒得找到它们并将它们链接起来。

硬件解决方案可以是无穷无尽的,因为如果你有钱,你可以得到一些非常高端的设备。否则它通常会有更多的内存,更快的处理器和更快的硬盘。迁移到64位操作系统也有帮助。

如果你想更具体一点?刚刚出头... 8GB或更多的内存,如果你买不起固态硬盘,我会选择10K到15K RPM的硬盘。关于四核是否有所不同,但是查看基准并看看哪些对您有用,这是一个争论。

答案 7 :(得分:0)

如果您只关注硬件,多核处理器,大量RAM,以及理想的10K或15K硬盘驱动器。

我个人注意到,通过更换10K RPM硬盘,性能有了很大提升。

答案 8 :(得分:0)

改进ASP.NET编译时间的最佳方法是在其上投入更多硬件。 OCZ Vertex Turbo SSD硬盘和Intel i7 960给了我巨大的推动力。您可以看到我的结果here