为什么编辑需要这么长时间?
我正在设计一种编程语言,我在想的一个问题是为什么编程语言花费很长时间来编译。 假定c ++需要很长时间,因为每次编译文件时都需要解析和编译头文件。 但是我 - heard-预编译头文件需要很长时间? 我怀疑c ++不是唯一有这个问题的语言。
一个C ++特有的问题使其变得非常慢,因为与几乎任何其他语言不同,您无法独立于语义分析来解析它。
编译是一个复杂的过程,涉及到很多步骤:
(不考虑链接)
当然,这对于较长的程序来说需要一些时间。
预编译头文件的速度更快,至少自1988年以来就已知道。
C编译器或C ++编译器花费很长时间的通常原因是它必须#include,preprocess,然后lex gazillions tokens。
作为一个练习,你可能会发现只需要在一个典型的头文件集合上运行cpp需要多长时间 - 然后衡量需要多长时间来分离输出。
gcc -O使用由Chris Fraser和Jack Davidson开发的非常有效但速度较慢的优化技术。 大多数其他优化器可能会很慢,因为它们涉及对相当大的数据结构的重复迭代。
链接地址: http://www.djcxy.com/p/85401.html上一篇: Why do compilations take so long?
下一篇: how can you configure spring to execute overlapping fixedRate tasks?