c++ 将长公式分解为多个部分并使用临时变量存储时的性能权衡

bq9c1y66  于 2023-01-28  发布在  其他
关注(0)|答案(1)|浏览(112)

我有一个很长的方程,我可以很容易地写在多行使用\。然而,同样可以实现使用以下,我觉得在可读性方面更好。

double func(...){
double const term1 = ...;
double const term2 = ...;
double const term3 = ...;

double const long_eqn = term1 + term2 + term3;
return long_eqn;
}

有没有人能说说这两种方法之间的优缺点?第二种方法会不会导致性能下降?
这是一个hpc代码,可能花费大部分时间来做这些计算。让我们假设-O3将是用于构建的标志。

f1tvaqid

f1tvaqid1#

首先确保你的代码正确,然后优化可读性。比起term,更喜欢描述性更强的变量名。确保你的编译器使用了优化设置(从gcc -O2或-O3开始)。如果你担心你的代码的性能。通常,最有趣的是令人惊讶的结果。

相关问题