[問題] OpenCV source code改寫/ 執行速度

看板C_and_CPP作者 (BBad)時間12年前 (2011/08/18 04:09), 編輯推噓4(4016)
留言20則, 6人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) mac OS, Xcode 3.2.4 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) OpenCV 問題(Question): 我目前是正在改寫 OpenCV source code, 改寫cvHaarDetectObjects 這個function的內容, 當然是利用haar.cpp 來改寫的, 但是發現了很大的問題,我將haar.cpp 內容全部複製到我自己的.cpp檔裡 換了function名稱,並且include它,其他內容完全不變, 是可以執行沒錯,但是時間大概增加2~3倍, 我實在無法理解function內容都一樣為什麼會有這樣子的問題? 在我已經改寫完可以使用了之後,這個問題是我最需要解決的了ˊˋ 餵入的資料(Input): OpenCV sample code 預期的正確結果(Expected Output): 一樣的function內容,執行時間理應一樣長? 錯誤結果(Wrong Output): 執行時間卻增加了2~3倍 程式碼(Code):(請善用置底文網頁, 記得排版) haar.cpp中的 cvHaarDetectObjects 補充說明(Supplement): 希望版上有人能解決我的問題~謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.249.175.133

08/18 10:53, , 1F
你自己build的code是debug mode還是release mode?
08/18 10:53, 1F

08/18 10:54, , 2F
通常這類成熟的lib發布binary出來時應該都是release版,
08/18 10:54, 2F

08/18 10:54, , 3F
如果你自己build code時沒注意到選成debug版, 速度就可
08/18 10:54, 3F

08/18 10:55, , 4F
能慢上一大節(因為optimization的關係).
08/18 10:55, 4F

08/18 10:55, , 5F
另外也有可能就是您的修改真的效率比較差....@_@"
08/18 10:55, 5F

08/18 12:51, , 6F
通常也有可能是你用太多變數了
08/18 12:51, 6F

08/18 13:00, , 7F
覺得是VictorTom講的原因
08/18 13:00, 7F

08/18 14:03, , 8F
可以解釋一下為什麼用太多變數會變慢2~3倍嗎? = =
08/18 14:03, 8F

08/18 14:37, , 9F
http://codepad.org/aRbw6a7i <--這是我之前改良strstr
08/18 14:37, 9F

08/18 14:37, , 10F
應該是說那時候變數用太多,還有花了一些額外的處理
08/18 14:37, 10F

08/18 14:39, , 11F
反而拖垮速度.
08/18 14:39, 11F

08/18 14:43, , 12F
阿,我當時內部迴圈的運算太多了,增加時間成本
08/18 14:43, 12F

08/18 14:44, , 13F
可是我沒有更改function裡頭的內容,只是更改一下funciton名
08/18 14:44, 13F

08/18 14:44, , 14F
忽略我在6f的話吧TAT.比較好的講法是花太多額外的運算
08/18 14:44, 14F

08/18 14:45, , 15F
拖累效能
08/18 14:45, 15F

08/18 14:45, , 16F
稱,內容沒變,參數也沒增加,不過我還是試試用release的結果
08/18 14:45, 16F

08/18 14:46, , 17F
p6566要不要試試release版本.ps:最近還是來這看文章好了
08/18 14:46, 17F

08/18 15:35, , 18F
又遇到新的問題了ˊˋ我在macOS,的Xcode上,build不了release
08/18 15:35, 18F

08/18 15:35, , 19F
mode,真是難關重重,我再來研究一下好了ˊˋ
08/18 15:35, 19F

08/18 18:17, , 20F
使用openmp
08/18 18:17, 20F
文章代碼(AID): #1EJ1_h5R (C_and_CPP)