【发布时间】:2014-08-22 17:34:42
【问题描述】:
对于一个应用程序,我的情况是相同的信息以多种形式存在:Base64 字符串、十六进制字符串和char[]。
现在为了提高效率,我不是煞费苦心地为每个函数声明和初始化一个变量,而是仅在上述形式之间的明显转换点应用它。之所以如此,是因为有些点不需要将变量转换为另一种形式进行条件比较等操作。
根据我的阅读,编译器的效率似乎令人难以置信,而且一天比一天高;然而,当我尝试阅读更深入的分析和描述时,我经常会超过我的经验极限,我的大脑就会溢出。
如果一个函数被重复调用单个变量以将其更改为另一种形式,例如从 Base64 字符串到每次产生相同结果的十六进制字符串,编译器是否会优化这些调用,以便为整个范围是不必要的?
在我的情况下,我使用-Ofast 直到有更好的东西。
【问题讨论】:
标签: c++ gcc optimization compiler-construction