作者wellwind (..)
看板Programming
标题Re: [问题] 面试遇到的程式问题,现在还想不出来(MTK)
时间Sat Jan 5 01:57:32 2008
for(i=102;i-=2;)
{
s += i+i-1;
}
用一半的loop会比较快吗@@?
※ 引述《runtime (结果咧)》之铭言:
: ※ 引述《asleepme (冬天了)》之铭言:
: : 作者: asleepme (冬天了) 看板: Tech_Job
: : 标题: [问题] 面试遇到的程式问题,现在还想不出来...
: : 时间: Sun Dec 30 13:42:09 2007
: : 是当面问的
: : 不过他当初是这样讲的:
: : 有一个for回圈,从0加到100
: : 可是我觉得他不够快,要怎样才能让他更快
: : for( i=0; i<=100; i++)
: : s=s+i;
: for( i=0; i<101; i++)
: s=s+i;
: 多一个等於好像比较慢 (印象中 XD)
: : 不可以用数学公式
: : 请忽略宣告或初始化的问题,我想不是重点
: : 因为我当初把i=0改成i=1的时候他只是无言的笑了笑
: : 请指点
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.174.72.50
1F:推 SILee:其实我觉得他本来的用意就是要问unrolling 61.59.105.115 01/05 03:57
2F:→ SILee:结果大家都去想一些只能快两三个cycle的方法 61.59.105.115 01/05 03:57
3F:推 oohay:用一半loop却每次做两倍计算,一样啦 61.231.19.47 01/05 09:16
4F:推 MasterChang:题目就讲不能用公式,本是要考的就是 203.67.207.240 01/05 10:36
5F:→ MasterChang:增加回圈运作的效能,不是0加到100。 203.67.207.240 01/05 10:36
6F:→ MasterChang:这种问题有容易看出来应试者到底有没 203.67.207.240 01/05 10:37
7F:→ MasterChang:有搞懂要问什麽。 203.67.207.240 01/05 10:37
8F:→ MasterChang:显然大部分的人还是卡在0加到100的无 203.67.207.240 01/05 10:38
9F:→ MasterChang:限回圈迷思之中,这问题果然是好问题. 203.67.207.240 01/05 10:38
10F:→ WPC001:to oohay,只用一半的loop但用两倍的运算 59.117.165.183 01/05 12:50
11F:→ WPC001:还是会比较快, 因为if的次数减少了 59.117.165.183 01/05 12:50
12F:推 oohay:我倒认为问题不在搞不搞懂要问什麽218.160.115.141 01/05 15:08
13F:→ oohay:问就问,答就答,答者用不着揣测问者心态218.160.115.141 01/05 15:09
14F:→ danielguo:改 ++i, += 经过编译时间完全一样 220.135.50.147 01/05 20:48
15F:→ danielguo:改 for 的判断式, 在开最佳化後几乎一样 220.135.50.147 01/05 20:49
16F:→ danielguo:这题目出得不好,应该问"真正"有哪些方法 220.135.50.147 01/05 20:49
17F:→ danielguo:可以增进效能, 而不是要看编译後的 asm 220.135.50.147 01/05 20:51
18F:→ danielguo:比指令要用几个 cycle 的东西.. 220.135.50.147 01/05 20:51
19F:→ danielguo:这些东西实际上根本不能增加多少效能呀 220.135.50.147 01/05 20:52
20F:→ danielguo:这麽基本能最佳化的东西, 编译器的作者 220.135.50.147 01/05 21:03
21F:→ danielguo:能想到的早就通通想到了 220.135.50.147 01/05 21:03
22F:推 Ross0916:大推楼上的 XDDD 140.112.5.10 01/05 22:03
23F:推 oohay:面试题目的"好",只要能挑出正确的员工即可 59.117.134.213 01/06 00:10
24F:推 jeunder:我完全不认为这是个好题目. 61.64.225.27 01/07 02:35
25F:→ Lordaeron:loop 0加到100 可以考什麽效能, 我看不 61.229.153.118 01/23 14:43
26F:→ Lordaeron:懂呢, 请MasterChang 大师讲解一下吧. 61.229.153.118 01/23 14:44