Rot*_*tem 1 c++ optimization micro-optimization visual-c++
假设:
const int n = bigNumber;
float* f = someData;
Run Code Online (Sandbox Code Playgroud)
转换是否有任何意义
for (int i = 0; i < n; i++)
{
f[i] += 1;
}
Run Code Online (Sandbox Code Playgroud)
至
float* lastF = f + n;
for (float* i = f; i < lastF; i++)
{
*i += 1;
}
Run Code Online (Sandbox Code Playgroud)
天真地看着这个,似乎我为每次迭代(the f[i])保存了一个加法运算.
当然,这假设我对循环内的索引器的值没有兴趣.
我会检查拆卸,但我读这些很糟糕.
没有任何好处.如今,任何编译器都可以比大多数程序员更好更快地完成任务.
如果f[i++]代码中的可读性比*fp++,请不要三思而后行.它们将被编译为完全相同的目标代码.
| 归档时间: |
|
| 查看次数: |
106 次 |
| 最近记录: |