如何创建变量快捷方式

Rug*_*rra 1 c++ optimization reference

例如,假设我需要创建复杂的数学公式

double f(double array1[100], double array2[100])
{
    double z = array1[21] * array2[3] + array[10];
    double q = array1[21] * array1[30] / array1[10];
    return array1[1] * z * q;
}
Run Code Online (Sandbox Code Playgroud)

或者更复杂.我的解决方案是创建中间变量,如:

double f(double array1[100], double array2[100])
{
    double energy = array1[21];
    double mass   = array2[3];
    double speed = array[10];
    double z = energy * mass + speed;
    double q = energy * array[30] / speed;
    return array1[1] * z * q;
}
Run Code Online (Sandbox Code Playgroud)

问题是我并不真的需要这些新变量,我不想浪费内存或增加时间来调用函数.所以现在我正在使用const每个中间变量,所以编译器可能更容易优化它.但也许使用引用更好?

sbi*_*sbi 5

  1. 以不妨碍快速代码的方式设计应用程序.
  2. 编写代码,使其易于阅读和维护.
  3. 让它工作正常.
  4. 测试以找出是否实在是太慢了.
  5. 如果是这样,对其进行分析以查看其花费大部分时间的位置.
  6. 查看这些区域,看看是否可以通过改进所使用的算法来提高性能.
  7. 如果一切都失败(只有这样),开始你问的方式调整代码,在剖析已经证明是地方相关的应用的整体性能.这通常是很少的点.