循环展开
Timer(
for (int64 i = 0; i < 1000000; i++)
{
res = i;
}
);
Timer(
for (int64 i = 0; i < 1000000; i+=2)
{
res = i;
res = i+1;
}
);
Timer(
for (int64 i = 0; i < 1000000; i += 4)
{
res = i;
res = i + 1;
res = i + 2;
res = i + 3;
}
);
Timer(
for (int64 i = 0; i < 1000000; i += 8)
{
res = i;
res = i + 1;
res = i + 2;
res = i + 3;
res = i + 4;
res = i + 5;
res = i + 6;
res = i + 7;
}
);
Timer(
for (int64 i = 0; i < 1000000; i += 16)
{
res = i;
res = i + 1;
res = i + 2;
res = i + 3;
res = i + 4;
res = i + 5;
res = i + 6;
res = i + 7;
res = i;
res = i + 1;
res = i + 2;
res = i + 3;
res = i + 4;
res = i + 5;
res = i + 6;
res = i + 7;
}
);
Timer(
for (int64 i = 0; i < 1000000; i += 32)
{
res = i;
res = i + 1;
res = i + 2;
res = i + 3;
res = i + 4;
res = i + 5;
res = i + 6;
res = i + 7;
res = i;
res = i + 1;
res = i + 2;
res = i + 3;
res = i + 4;
res = i + 5;
res = i + 6;
res = i + 7;
res = i;
res = i + 1;
res = i + 2;
res = i + 3;
res = i + 4;
res = i + 5;
res = i + 6;
res = i + 7;
res = i;
res = i + 1;
res = i + 2;
res = i + 3;
res = i + 4;
res = i + 5;
res = i + 6;
res = i + 7;
}
);
Timer(
for (int64 i = 0; i < 1000000; i += 64)
{
res = i;
res = i + 1;
res = i + 2;
res = i + 3;
res = i + 4;
res = i + 5;
res = i + 6;
res = i + 7;
res = i;
res = i + 1;
res = i + 2;
res = i + 3;
res = i + 4;
res = i + 5;
res = i + 6;
res = i + 7;
res = i;
res = i + 1;
res = i + 2;
res = i + 3;
res = i + 4;
res = i + 5;
res = i + 6;
res = i + 7;
res = i;
res = i + 1;
res = i + 2;
res = i + 3;
res = i + 4;
res = i + 5;
res = i + 6;
res = i + 7;
res = i;
res = i + 1;
res = i + 2;
res = i + 3;
res = i + 4;
res = i + 5;
res = i + 6;
res = i + 7;
res = i;
res = i + 1;
res = i + 2;
res = i + 3;
res = i + 4;
res = i + 5;
res = i + 6;
res = i + 7;
res = i;
res = i + 1;
res = i + 2;
res = i + 3;
res = i + 4;
res = i + 5;
res = i + 6;
res = i + 7;
res = i;
res = i + 1;
res = i + 2;
res = i + 3;
res = i + 4;
res = i + 5;
res = i + 6;
res = i + 7;
}
);
运行时间
0.0046594 s
0.0024407 s
0.0016737 s
0.0010715 s
0.0008773 s
0.000777 s
0.0007106 s
原来for
循环这么慢?