※ 引述《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值的方式
: 另外,如果你要算的圖是拍來的要更小心...
: 小的是低手,請高手盡量鞭