【发布时间】:2010-10-10 16:21:07
【问题描述】:
我注意到在同一台机器上,C# 的编译时间比 C++ 少得多。为什么?
注意1:我没有做过任何科学基准测试。
注意 2:在有人说这与编程无关之前,我正在实现一个解析器,我正在寻找从一开始就可以做些什么来提高编译速度。
注意3:我有一个类似的问题Why do compilations take so long?。这个问题询问从 C/C++ 到 C# 的具体区别。很明显,简单的语言比复杂的语言编译起来更快,但是 C 和 C# 都是复杂的语言。
我的收获:1) C/C++ 从预处理器和头文件来看很慢。 2)很多标题会导致更多数据解析。特别是当每个文件都可以使用预处理器时可以更改代码3)C#将一些编译推迟到程序启动4)IL指令很简单,机器不是
【问题讨论】:
-
我想知道您是否已经阅读了您之前关于此主题的问题的答案:stackoverflow.com/questions/588884/…
-
是的,我有。本题关注的是c到C#的具体区别
-
在那个答案中特别提到了那些......正是 C++ 所做的事情有所不同,c# 没有什么特别的
-
你的外卖点是正确的。我要补充一点,C++ 语法是上下文相关的,解析器必须与语义分析一起运行(这只会让一切变得更加复杂)。
标签: c# c++ compiler-construction