Re: [問題] 面試遇到的程式問題,現在還想不出來(MTK)

看板Programming作者 (..)時間16年前 (2008/01/05 01:57), 編輯推噓7(7019)
留言26則, 8人參與, 最新討論串10/12 (看更多)
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

01/05 03:57, , 1F
其實我覺得他本來的用意就是要問unrolling
01/05 03:57, 1F

01/05 03:57, , 2F
結果大家都去想一些只能快兩三個cycle的方法
01/05 03:57, 2F

01/05 09:16, , 3F
用一半loop卻每次做兩倍計算,一樣啦
01/05 09:16, 3F

01/05 10:36, , 4F
題目就講不能用公式,本是要考的就是
01/05 10:36, 4F

01/05 10:36, , 5F
增加迴圈運作的效能,不是0加到100。
01/05 10:36, 5F

01/05 10:37, , 6F
這種問題有容易看出來應試者到底有沒
01/05 10:37, 6F

01/05 10:37, , 7F
有搞懂要問什麼。
01/05 10:37, 7F

01/05 10:38, , 8F
顯然大部分的人還是卡在0加到100的無
01/05 10:38, 8F

01/05 10:38, , 9F
限迴圈迷思之中,這問題果然是好問題.
01/05 10:38, 9F

01/05 12:50, , 10F
to oohay,只用一半的loop但用兩倍的運算
01/05 12:50, 10F

01/05 12:50, , 11F
還是會比較快, 因為if的次數減少了
01/05 12:50, 11F

01/05 15:08, , 12F
我倒認為問題不在搞不搞懂要問什麼
01/05 15:08, 12F

01/05 15:09, , 13F
問就問,答就答,答者用不著揣測問者心態
01/05 15:09, 13F

01/05 20:48, , 14F
改 ++i, += 經過編譯時間完全一樣
01/05 20:48, 14F

01/05 20:49, , 15F
改 for 的判斷式, 在開最佳化後幾乎一樣
01/05 20:49, 15F

01/05 20:49, , 16F
這題目出得不好,應該問"真正"有哪些方法
01/05 20:49, 16F

01/05 20:51, , 17F
可以增進效能, 而不是要看編譯後的 asm
01/05 20:51, 17F

01/05 20:51, , 18F
比指令要用幾個 cycle 的東西..
01/05 20:51, 18F

01/05 20:52, , 19F
這些東西實際上根本不能增加多少效能呀
01/05 20:52, 19F

01/05 21:03, , 20F
這麼基本能最佳化的東西, 編譯器的作者
01/05 21:03, 20F

01/05 21:03, , 21F
能想到的早就通通想到了
01/05 21:03, 21F

01/05 22:03, , 22F
大推樓上的 XDDD
01/05 22:03, 22F

01/06 00:10, , 23F
面試題目的"好",只要能挑出正確的員工即可
01/06 00:10, 23F

01/07 02:35, , 24F
我完全不認為這是個好題目.
01/07 02:35, 24F

01/23 14:43, , 25F
loop 0加到100 可以考什麼效能, 我看不
01/23 14:43, 25F

01/23 14:44, , 26F
懂呢, 請MasterChang 大師講解一下吧.
01/23 14:44, 26F
文章代碼(AID): #17VdEGmP (Programming)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 10 之 12 篇):
文章代碼(AID): #17VdEGmP (Programming)