2013-05-31 51 views
1

我在Opencv Answers小組中發佈了一個關於TBB性能的問題。這是linkTBB預先在Opencv-2.4.5中啓用?

該鏈接的答案如下所述。

可能你使用的2.4.5圖書館使用和不使用TBB但是比較, ,因爲OpenCV的2.4.3多線程支持功能已 被列入源代碼,不需要建立與opencv的 TBB支持了。它在必要時自動完成,並且包含的​​dll包含在需要的源文件中。

但我在Hog描述符中遇到了性能變化。那就是我使用樣本中的peopledetect.cpp,並在opencv2.4.5中同時使用TBB和TBB進行編譯。我可以看到用TBB編譯的Opencv2.4.5執行速度爲2x,而沒有TBB的Opencv2.4.5執行速度非常慢。

有人可以請符合以下幾點,因爲我找不到任何可以來源。

1)從opencv2.4.3我們不需要使用TBB打開opencv重建?

回答

3

自2.4.3開始,預構建二進制文件是使用Visual Studio Concurrency框架編譯的。但是,並非每種算法都使用「新」並行接口,您可以從併發接口切換到IPP接口到TBB。之前,它是硬編碼使用TBB或無。 所以問題在於並不是每個算法都被轉換爲新的並行方式,因此在某些方面可以使用TBB加速。 (IIRC的一個例子是BruteForceMatcher,它只使用一個內核和預先構建的庫)