C#构建速度vs原生C++; 有没有人对类似大小的C++和C类项目的构建时间进行比较?

C#构建速度vs原生C++; 有没有人对类似大小的C++和C类项目的构建时间进行比较?,c#,c++,build,C#,C++,Build,我们试图说服我们的无人机,有着数百万个用重模板使用的C++项目,比一个类似大小的C项目慢,而且花费在内存和SSD磁盘上的额外花费也很好。 < P>除非您在项目中使用Ngen.exe,否则所有C#项目都是我们已经知道的两阶段编译过程。但是在C++上,它只需要一步编译(没有JIT)。 我想构建时间有点不同。也许Jon Skeet应该有一个完美的答案。但是我相信,除非你在你的项目上使用Ngen.exe,否则所有的C#项目都是我们已经知道的两阶段编译过程。但是在C++上,它只需要一步编译(没有JIT)。


我们试图说服我们的无人机,有着数百万个用重模板使用的C++项目,比一个类似大小的C项目慢,而且花费在内存和SSD磁盘上的额外花费也很好。

< P>除非您在项目中使用Ngen.exe,否则所有C#项目都是我们已经知道的两阶段编译过程。但是在C++上,它只需要一步编译(没有JIT)。
我想构建时间有点不同。也许Jon Skeet应该有一个完美的答案。

但是我相信,除非你在你的项目上使用Ngen.exe,否则所有的C#项目都是我们已经知道的两阶段编译过程。但是在C++上,它只需要一步编译(没有JIT)。
我想在构建时间上有点不同。也许Jon Skeet应该有一个完美的答案。

我从来没有在类似的项目上做过这样的比较,在类似的项目中,您可能指的是相同的行数。但是我在我的经验中注意到的是C++编译得慢得多。我想这是因为它在编译过程中通过了更多的步骤,其中一个是链接,这可能非常慢。

我从未在类似的项目上进行过类似的比较,在类似的项目中,您可能指的是相同的行数。但是我在我的经验中注意到的是C++编译得慢得多。我想这是因为它在编译过程中通过了更多的步骤,其中一个是带有链接的步骤,可能会非常慢

我们试图说服我们的无人机,有数百万条线路C++。 模板使用量大的项目,遵守速度比类似的项目慢 规模庞大的C#项目以及在内存和SSD磁盘上花费的额外资金 花得好

当然,这是C++中一个常见而又非常重要的问题。我认为在下一个版本的C++中,Mybe使用模块是最迫切的。这是一个语言设计问题,与C++编译单元的组织方式有关。p> 无论如何,有人努力通过使编译器更快来解决这个问题。目前最重要的努力是叮当声

对于编译时间的来源,有吨(谷歌:统一构建,C++编译时间)

但我认为示威会更好。提振(http://boost.org),编译它。这是一个庞大的库集合,因此可以轻松地与C#中的大型代码源库进行比较

使用SSD来增强C++编译,这里有一个研究:

我们试图说服我们的无人机,有数百万条线路C++。 模板使用量大的项目,遵守速度比类似的项目慢 规模庞大的C#项目以及在内存和SSD磁盘上花费的额外资金 花得好

当然,这是C++中一个常见而又非常重要的问题。我认为在下一个版本的C++中,Mybe使用模块是最迫切的。这是一个语言设计问题,与C++编译单元的组织方式有关。p> 无论如何,有人努力通过使编译器更快来解决这个问题。目前最重要的努力是叮当声

对于编译时间的来源,有吨(谷歌:统一构建,C++编译时间)

但我认为示威会更好。提振(http://boost.org),编译它。这是一个庞大的库集合,因此可以轻松地与C#中的大型代码源库进行比较


关于使用SSD来增强C++编译,这里有一个研究:

它完全依赖于编译器,因此给我们详细说明你使用的编译器和版本是一个好的开始。这看起来像是一个重复的帖子,请参阅这个链接以获取更多信息。是的,看起来C#编译得更快。[1] :另请参见:为什么相似大小的代码库相关?当然,就实现的功能而言,项目的规模也差不多。当然,您应该测量“内存更多,有SSD”和“内存更少,没有SSD”之间的速度差异——为什么语言相关?项目的大小不一定决定编译时间;复杂性也影响着它。你对内存和SSD的评论是无关紧要的:如果你是用VB6写的,根本没有编译时间,但这并不是购买更快磁盘的理由。您的实际问题是什么?这完全取决于编译器,因此向我们提供您正在使用的编译器和版本的详细信息将是一个良好的开端。这看起来像一篇重复的文章。有关详细信息,请参阅此链接。是的,看起来C#编译得更快。[1] :另请参见:为什么相似大小的代码库相关?当然,就实现的功能而言,项目的规模也差不多。当然,您应该测量“内存更多,有SSD”和“内存更少,没有SSD”之间的速度差异——为什么语言相关?项目的大小不一定决定编译时间;复杂性也影响着它。你对内存和SSD的评论是无关紧要的:如果你是用VB6写的,根本没有编译时间,但这并不是购买更快磁盘的理由。您的实际问题是什么?“C++编译速度太慢,因为每次包含头文件时都必须重新读取和分析它们。”请看这里。但正如它所说的,头文件处理不当。但是看到另一张脸,这里只有一半的编译发生,你不能把它看作是C++的例子吗?很明显,JIT编译器优化了一些东西…我想,公平性你可以编译C++到LVVM。还需要更长的时间。C++是复杂的,编译时的符号解析是缓慢的。C#要简单得多,这就是为什么我们甚至在设计时也可以享受符号解析。“C++编译速度太慢,因为每次包含头文件时都必须重新读取和分析它们。”请看这里。但正如它所说的,头文件处理不当。但是看到另一个面,这里只有一半编译发生,你不能把它看作C++的例子吗?很明显,JIT编译器是优化的。