Re: [問題] C語言題目請益

看板C_and_CPP (C/C++)作者 (Fathome)時間7年前 (2018/09/12 20:47), 編輯推噓2(3110)
留言14則, 5人參與, 7年前最新討論串3/3 (看更多)
※ 引述《SocketAM2 (AM2)》之銘言: : 1. leftBound只是常數,且每次回圈都用在判斷,這可以改善 : 2. inner loop中的image[yi+c][b_next] : 2.1 b_next未宣告 : 2.2 c的值沒有保護跨界提取 : 3. score > 200的條件可以提到最前面檢查一次就好(甚至caller自己該處理),這個200和leftBound的2都可以#define constant : 4. outer loop中第一個if成立的話,如果條件不符合可以直接break出去接return False,因為下一個b一定是break : 以上能“優化”的效果很可能難易被人察覺或造成有意義的差別... : 你要不要說下想做什麼 : 考慮到上面第二點,我猜實際的問題可能不是優化 : 程式的正確性也許需要先確認一下 : 例如byte * * image就不太像典型的存放影像pixel值的方式 : 另外,如果你要算的圖是拍來的要更小心... : 小的是低手,請高手盡量鞭 -------------------------------------------------------------------- 根據其他人的留言,我再補充 優化方向 主要是希望能優化"程式"執行的速度 或是記憶體能用的比較少這部分 感謝各位參與討論的人 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.152.122 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1536756469.A.7A6.html

09/13 00:05, 7年前 , 1F
問題是你沒代沒事為何要優化
09/13 00:05, 1F

09/13 00:10, 7年前 , 2F
有遇到記憶體不足或執行速度過慢的障礙嗎?
09/13 00:10, 2F

09/13 02:32, 7年前 , 3F
作業樓上不用太認真
09/13 02:32, 3F

09/13 07:34, 7年前 , 4F
樓上,我倒覺得應該沒人會出這麼蠢的作業...
09/13 07:34, 4F

09/13 07:35, 7年前 , 5F
我也覺得1.應該先探討正確性2.講解一下這段程式的目的
09/13 07:35, 5F

09/13 07:41, 7年前 , 6F
再仔細看看,整個程式錯得很離譜,永遠不會return TRUE
09/13 07:41, 6F

09/13 07:42, 7年前 , 7F
那我建議最快的方法是不要做任何運算直接return FALSE
09/13 07:42, 7F

09/13 07:42, 7年前 , 8F
我真是太聰明了
09/13 07:42, 8F

09/13 08:39, 7年前 , 9F
其實貼個程式碼連自己想法什麼都沒交代我就當成是作業啦
09/13 08:39, 9F

09/13 08:39, 7年前 , 10F
要不要理當然看個人了
09/13 08:39, 10F

09/13 09:02, 7年前 , 11F

09/13 09:03, 7年前 , 12F
比起學程式碼 我建議你先學會發問
09/13 09:03, 12F

09/13 11:15, 7年前 , 13F
Smells like homework.
09/13 11:15, 13F

09/13 11:18, 7年前 , 14F
1. Loop Unrolling 2. Improve temporal locality
09/13 11:18, 14F
文章代碼(AID): #1RcGhrUc (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1RcGhrUc (C_and_CPP)