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