Re: [問題] 面試遇到的程式問題,現在還想不出來(MTK)
看板Prob_Solve (計算數學 Problem Solving)作者gwliao (gwliao)時間17年前 (2007/12/30 22:31)推噓2(2推 0噓 2→)留言4則, 4人參與討論串2/16 (看更多)
搞個 Loop unrolling.
int main(void) {
long int s,i;
s=0;
for(i=0;i<=1000000000;i++)
s=s+i;
}
g++ test.c
real 0m2.058s
user 0m2.030s
gcc test.c
real 0m2.010s
user 0m2.000s
gcc -O3 test.c 或 g++ -O3 test.c
real 0m0.001s
user 0m0.000s
之後, 不用-O, 用"gcc test.c"
for(i1=0,i2=0;i1<=(1000000000)/2;i1=i1+2,i2=i2+2)
s=s+i1+i2;
real 0m0.647s
user 0m0.640s
for(i1=0,i2=0,i3=0,i4=0;i1<=(1000000000)/4;
i1=i1+4,i2=i2+4,i3=i3+4,i4=i4+4)
s=s+i1+i2+i3+i4;
real 0m0.247s
user 0m0.240s
我加到i8
real 0m0.105s
user 0m0.100s
加到i16
real 0m0.032s
user 0m0.040s
囧rz 我累了, 請提供其他的方法吧.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.233.31
推
12/30 23:25, , 1F
12/30 23:25, 1F
→
12/30 23:29, , 2F
12/30 23:29, 2F
推
01/06 02:00, , 3F
01/06 02:00, 3F
→
01/22 09:00, , 4F
01/22 09:00, 4F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 16 篇):
Prob_Solve 近期熱門文章
PTT數位生活區 即時熱門文章