struct Object {
float x, y, z;
float vx, vy, vz;
};
Object obj[N];
for (int i = 0; i < N; i++) {
obj[i].x += obj[i].vx * dt;
obj[i].y += obj[i].vy * dt;
obj[i].z += obj[i].vz * dt;
}
struct ObjectArray {
float x[N], y[N], z[N];
float vx[N], vy[N], vz[N];
};
ObjectArray obj_all;
for (int i = 0; i < N; i++) {
obj_all.x[i] += obj_all.vx[i] * dt;
obj_all.y[i] += obj_all.vy[i] * dt;
obj_all.z[i] += obj_all.vz[i] * dt;
} 在最高级别的优化选项(-O3)下,两种方式运行速度相比()
方法一运行速度更快
方法二运行速度更快
两种方法速度差不多