提高ASP.NET/C#编译速度的最佳方法是什么?
更新:请把答案集中在硬件解决方案上。
我们使用什么硬件/工具/外接程序来改善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
解决方案
我们可以预编译站点,这将使首次运行的体验更好
http://msdn.microsoft.com/en-us/library/ms227972.aspx
要做的重要事情之一是保持不经常更改的程序集的项目被卸载。发生更改时,请加载它,然后再次编译并卸载。在大型解决方案中,它产生了巨大的差异。
我从网站切换到Web应用程序。编译时间至少减少了十倍。
另外,如果可能的话,我尽量不要使用调试器("无需调试即可运行")。这样可以减少启动Web应用程序所需的时间。
我建议我们为PC添加尽可能多的内存。如果解决方案非常大,则可能需要探索64位,以便计算机可以处理3GB以上的RAM。
另外,Visual Studio 2008 SP1似乎比以前的版本要快得多,请确保我们正在运行带有Service Pack的最新版本。
祝你好运!
首先,请确保我们正在使用Web应用程序项目(WAP)。根据我们的经验,与网站项目相比,WAP的编译速度大约快10倍。
然后,考虑将所有逻辑(包括复杂的UI组件)迁移到单独的库项目中。 Ccompiler的方式比ASP.NET编译器快(至少对于VS2005)。
如果我们只看硬件,则需要在网络上搜索基准。有几篇关于Visual Studio编译时的硬件性能的文章,我懒得找到它们并链接它们。
硬件解决方案可能是无止境的,因为如果我们有钱,我们可以得到一些真正的高端设备。否则,它通常会具有更多的内存,更快的处理器和更快的硬盘驱动器。迁移到64位操作系统也有帮助。
我们是否想更具体?就在我脑海中... 8GB或者更多的内存,如果我们买不起固态硬盘,我会选择10K到15K RPM硬盘。关于四核是否有任何区别,但要查找基准并查看对我们有用的方法,目前尚有争议。
如果仅考虑硬件,多核处理器,大量内存以及理想的10K或者15K硬盘驱动器。
我个人已经注意到,更改为10K RPM驱动器后,性能有了极大的提高。
如果我们有很多第三方的"参考程序集",请确保除Web应用程序项目以外的所有项目上的CopyLocal = False都会有很大的不同。
我在博客上写了我通过进行以下简单更改而获得的性能提升:
加速桌面构建第1部分
改善ASP.NET编译时间的最佳方法是向其添加更多硬件。 OCZ Vertex Turbo SSD驱动器和Intel i7 960给了我极大的帮助。我们可以在这里查看我的结果。