Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不同C++特性的编译时间 对于不同的C++特征,编译时间是多少?我感兴趣的是选择正确的方法在我的库头中实现一些通用代码,并且我希望为库用户考虑编译时间。粗略的和/或相对的数字就可以了_C++_Templates_Compilation_Compiler Optimization_Constexpr - Fatal编程技术网

不同C++特性的编译时间 对于不同的C++特征,编译时间是多少?我感兴趣的是选择正确的方法在我的库头中实现一些通用代码,并且我希望为库用户考虑编译时间。粗略的和/或相对的数字就可以了

不同C++特性的编译时间 对于不同的C++特征,编译时间是多少?我感兴趣的是选择正确的方法在我的库头中实现一些通用代码,并且我希望为库用户考虑编译时间。粗略的和/或相对的数字就可以了,c++,templates,compilation,compiler-optimization,constexpr,C++,Templates,Compilation,Compiler Optimization,Constexpr,我对以下情况特别感兴趣: 添加类专门化 仅添加constexpr函数声明 添加最简单的constexpr函数,如{return true;} 在编译时执行最简单的constexpr函数。 实例化类模板 实例化模板别名 实例化变量模板 找到正确的模板类专门化 通过ADL查找正确的函数 请注意,我们不要谈论我做过早的优化。编译时间的信息对C++开发人员来说是有趣的。 更新:阐明了我正在优化的代码位于库标题中,因此它的编译时间对于库用户来说绝对重要 更新:重新措辞问题,以避免引发自以为是的回答 对于不

我对以下情况特别感兴趣:

添加类专门化 仅添加constexpr函数声明 添加最简单的constexpr函数,如{return true;} 在编译时执行最简单的constexpr函数。 实例化类模板 实例化模板别名 实例化变量模板 找到正确的模板类专门化 通过ADL查找正确的函数 请注意,我们不要谈论我做过早的优化。编译时间的信息对C++开发人员来说是有趣的。 更新:阐明了我正在优化的代码位于库标题中,因此它的编译时间对于库用户来说绝对重要

更新:重新措辞问题,以避免引发自以为是的回答

对于不同的C++特性,编译时间有什么好的来源?< /P> 此信息的原始来源是-ftime报告和-ftime跟踪编译器选项。你可以用它们来调查你感兴趣的时间


有关更多详细信息,请参阅和。

编译器时间在很大程度上取决于实际的编译器、版本以及传递给它的选项(如优化标志)。通常编译只会发生一次,除非您在开发库时经常使用它。所以对于你的库用户来说,编译时间在他们的优先级列表中可能非常低。@oliora也许你也应该看看Chiel的规则,关于你列出的一些东西的编译时间成本。@Someprogrammerdude是的,但是,对于在库的界面中公开的代码,它将被包含并在多个翻译单元中重新编译。IMO,这个问题有一些技术上的答案,完全在so的范围内。@MaximeGroushkin哦,好吧。我会把这个写在Reddit上。在荷兰填写纳税申报表比问任何问题都要简单。这是一个很有价值的答案,但可能已经有数字了,所以我不需要自己做基准。