Visual Studio 和大量文件的编译性能问题

问题描述 投票:0回答:6

我们当前的解决方案/项目将多个类合并到一个文件中,我被告知这是由于 VS 中的编译时间缓慢而完成的。

这是一个已确认的问题和解决方案吗?

既然我们使用的是VS2008 Team系统,我们可以把它们分开吗?还有其他人将类分成不同的文件并且仍然具有良好的性能吗?

vb.net visual-studio performance projects-and-solutions
6个回答
4
投票

我在 VB.Net IDE 团队工作,我可以告诉你,将所有内容放入 1 个文件中会使 VS 运行更慢,而不是更快。 VB.Net 可以很好地处理不同文件中的类。

唯一会产生影响的情况是,如果您的硬盘驱动器速度慢得令人难以置信,并且文件位于物理磁盘的不同部分(导致更多和更长的寻道指令)。 一般来说,这应该不是问题,对于 VB.Net IDE,这只会在初始启动期间出现问题。 我们有多层缓存,甚至可以帮助消除这些类型的问题。

如果您只考虑命令行编译器运行所需的原始时间,您

可能能够发现这种方法的一些最小的好处。 恕我直言,更重要的数字是 Visual Studio 的响应能力和 Visual Studio 的相对构建时间。 如果文件太长,VS 响应能力将会降低(如果您将所有类放入单个文件中,最终会发生这种情况)。

你们的硬件是什么样的?

1
投票
VS 的一大瓶颈是它需要读取和写入大量小文件。

一两个快速硬盘可以提高性能负载!

我使用的是 C# 而不是 VB.NET,但我从未遇到过编译器性能问题。看来这是某种过早的优化。我不关心我的构建服务器需要多长时间来构建应用程序。不要为了构建时间性能而牺牲清晰度。

0
投票

听起来您可能想尝试说服您的团队研究解决方案设计;拥有一个包含所有项目的庞大解决方案可能不是最佳选择。如果构建时间确实是一个问题,如果可能的话,我宁愿通过将解决方案分解为逻辑部分来解决它。

0
投票

我不认为将许多类分组到一个文件中会显着提高正常项目的构建性能。将它们分成更多文件应该是安全的(标准是每类一个文件)。

0
投票
我遇到的一个例外是“网站”项目。我没有任何科学数据,但随着文件数量的增加,这些

do

似乎会变慢。要解决此问题,您可以将其转换为“Web 应用程序”项目。

解决方案中的项目过多也会使 VS 变慢,但这听起来不像你的问题。

这是一个已确认的问题和已确认的解决方案。 在今年的 Tech Ed 上,他们表示在 VS2010 中这将不再是问题,您可以下载 VS2010 的测试版并试用。

-1
投票

© www.soinside.com 2019 - 2024. All rights reserved.