注释会影响编译时间吗?
Do comments affect compile time?
我是一名Android开发者,下面的问题出现在我的脑海中:当我为了编译过程而添加一个大注释时,当我们在代码中添加有用的注释时,编译器是否可以在注释部分花费一些时间?
如果没有,那么它没有得到任何效果,因为多长时间我们的评论?
编译器可以在注释部分花费一些时间吗?
除了遍历注释对应的字节的IO开销(只要不是几兆字节长的注释,这应该可以忽略不计)之外,它不会产生任何影响。大多数编译器甚至不包括AST中的注释,这意味着解析后注释完全消失了。
永远不要根据编译时间来决定是否包含注释。您的决定完全基于它是否使代码更具可读性。
进一步阅读:
- 如何写注释
- 我如何以适当的方式编写代码内注释和文档?这有什么标准吗? 如何写出好的javadoc注释?
是的,您编写的每个注释都会使编译变慢,因为编译器必须读取更多的文本。但是,对于编译器来说,读取注释是非常容易的,而且很快就能完成,所以你不必担心。
你可以自己试一试。编写一个程序,让生成一些带有大量注释的简单源代码。
int i = 0;
...
i++; /* This is a comment, and maybe a very long one. */
...
现在您可以尝试使这个(生成的)注释非常长,甚至可能是兆字节。然后在编译带有小注释和大注释的代码时测量差异,您将看到速度仍然是可以接受的。
阅读和解析这些注释块需要时间,但这次时间很短,您不会注意到,无论如何,这不是不将(扩展和有用的)注释放入程序的借口:-)
相关文章:
- 使用简单类型列表实现的指数编译时间.为什么
- 是否可以在编译时初始化数组,以便在运行时不会花费时间?
- 在已经使用Git的情况下减少编译时间
- C++常量数组的编译时间较长
- 编译时间文本到数字转换 (atoi)
- 在C++中执行 N 阶乘编译时间的 3 种不同/相同方法
- 为什么具有静态存储持续时间的同一内联变量在包含在 VS2017 编译的两个翻译单元中时会构造和销毁两次
- DLLexport 类模板实例(专用化),减少了仅标头模板库的编译时间
- 为什么这段代码需要这么长时间才能用 g++ 编译?
- 替换枚举以最大化编译时间检查的最佳方法
- 不同C++功能的编译时间
- 在预编译标头中实例化模板会缩短编译时间吗?
- 使用 SCons 提取每个编译单元的编译时间
- 将 lambda 函数转换为另一个编译单元中的普通函数会缩短编译时间吗?
- std :: Invoke_result_t编译时间语法错误
- variadic函数模板:基于n编译时值在运行时间自动n输入
- 模板;constexpr;编译时间
- 如何实现声明功能-C 11,编译时间
- 如何减少编译时间:在包含未触及的头文件的情况下
- 当(执行时间)>>>(编译时间)时,多个编译单元是否仍然值得?