我有一个很长的方程,我可以很容易地写在多行使用\
。然而,同样可以实现使用以下,我觉得在可读性方面更好。
double func(...){
double const term1 = ...;
double const term2 = ...;
double const term3 = ...;
double const long_eqn = term1 + term2 + term3;
return long_eqn;
}
有没有人能说说这两种方法之间的优缺点?第二种方法会不会导致性能下降?
这是一个hpc代码,可能花费大部分时间来做这些计算。让我们假设-O3
将是用于构建的标志。
1条答案
按热度按时间f1tvaqid1#
首先确保你的代码正确,然后优化可读性。比起
term
,更喜欢描述性更强的变量名。确保你的编译器使用了优化设置(从gcc -O2或-O3开始)。如果你担心你的代码的性能。通常,最有趣的是令人惊讶的结果。