![]() |
1
2
编译器通过引用获取每个类。必须首先编译底层(没有内部项目引用),然后编译引用其他内部项目的层,依此类推。因此,是的,由于编译器必须对引用进行排序并创建多个二进制文件,因此编译时间将稍微增加。 另一方面,大多数大型项目应该划分为多个项目和名称空间,以便于可读性和导航。它实际上取决于你在做什么,但是你可以把1000个类放在一个文件中,或者多个文件中,或者多个项目中的多个文件中。编译时节省的时间(最少)不会与在布局不合理的解决方案中查找内容所浪费的时间相比。 对于包含5个类的2个项目的解决方案,编译时间将与包含10个类的单个项目的编译时间相差毫秒。链接和引用是您将看到的唯一真正的增加,这是最小的。 编辑:另一个注意事项是,如果您有一个足够大的项目,以至于您注意到编译时存在真正的差异,那么您可能应该考虑实现某种连续集成(请参见: http://en.wikipedia.org/wiki/Continuous_integration )环境,它将为您准备一个当前的构建,并让您知道是否有什么东西坏了。 |
![]() |
2
4
是的,在大型C解决方案中,拥有更多的项目会使编译时间明显更长(几分钟)。至少,这是我的经验。但是,我会增加一个警告。我怀疑项目是在完全不必要的情况下编译的,因为C对于它选择编译的内容并不是那么聪明。因此,如果大多数项目不太参考其他项目,这可能不是一个问题。我不能确定,因为我所处理的代码(遗留的东西,而不是我的,我急于添加)有这种问题,并不是松散地与POV耦合。 请注意,缓慢编译是某些语言的一个特性(例如,所有基于C的语言)。可以一次编译的语言(如Delphi等Pascal派生语言),编译速度快得多(10^6 loc秒)。 所以不管怎样,你的速度是有限制的。这主要是硬件问题,因为大多数语言的编译都是磁盘密集型的(即速度慢)(FLS可能是一个例外)。这里的其他线程讨论了加速编译时间的方法,最大的改进总是获得一个真正快速的高清,或者更好的,一个现代的固态硬盘。 |
![]() |
3
2
我会说是的,但我认为时间上的差别是很小的,除非文件很大(当我开始放慢速度时,是10公里的线) 注: 我用10k行编译的文件仅仅是因为我觉得无聊,我从来没有把它实际用于生产,它是我从以前的项目迁移到一个项目的大量代码。 |
![]() |
4
1
我会说是的,有单独的项目确实有影响。一个项目是一个独立的输出,链接是不同的。它还必须从另一个项目中的引用中找到依赖项。找到答案的唯一方法就是尝试。 |
![]() |
5
1
拥有更多的项目意味着有更多的工作要做,因此几乎肯定会花费更多的时间。除了实际编译之外,至少还必须复制以下操作
|
![]() |
6
1
我有一个很大的项目,我正在拆分成较小的项目,我注意到编译时间只需要一个 小的 比以前长。所以是的,它会增加编译时间,但在我的例子中,它只增加了几秒钟。我可以想象,变化会更大,更大的项目的问题。 |
![]() |
7
1
更多的项目需要稍长的时间。项目的类型会有很大的不同。安装项目需要很长时间才能编译,因为所有的压缩操作都会发生,而且(对我来说)SQL报表项目可能需要很长时间。 |
![]() |
8
1
根据我在.NET开发方面的经验,这取决于您是否启用了多线程编译。 VS能够在不同的核心上连续地编译多个项目,因此,如果您有一个多核系统,那么在单独的项目中,它比一个巨大的项目要快得多。 |
![]() |
9
0
您想让我们告诉您哪个更快:一个项目中有10个类,或者两个项目中每个项目中有5个类。 你不能自己说区别吗? 如果你能分辨出不同,那么你就可以选一个速度更快的。 如果你看不出两者的区别,为什么速度越快就越重要?选择一个对你更有意义的。 你的问题出了点问题 但是。编译任何合理大小的10个类的时间都很短,因此试图优化它是浪费您的精力。你真正的问题是什么? |
|
kaiselwyvrn · 我无法打开Visual Studio项目 1 年前 |
![]() |
Cobra_Fast · 如何查找不必要的空运算符? 3 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 3 年前 |