Различия в скорости кода OpenCV на Mac и Win7 - PullRequest
0 голосов
/ 29 марта 2012

Я кодировал из кода Matlab (localSelfSimility) версию OpenCV. Он работает отлично, но скорость на win7 64-bit (amd64 3Ghz 4-core, 8GB ram) намного медленнее, чем у моего mac mini (2Ghz core2duo 64-bit, 8GB ram). Скорость того же кода, тех же оптимизаций, того же самого входного изображения на Mac, взятого со временем exec .. Реальная 1 мин, пользовательская 57 с. С другой стороны, на win7 (msys) Real составляет 2 минуты 44 секунды, процессор 0,01 секунды, sys..0,015 процессор - до 65%. Gprof на win7 показывает, что 37% времени используется в _mcount_private. На самом деле, matlab-код работает на октаву так же быстро, как и на opencv-коде. Opencv на Mac старше 2.2, а win7 new 2.3.1. Opencv построен с mingw64, (может ли это быть проблемой?) на win7. Вчера я скачал Windows SDK 7.1 для использования 64-битного cl.exe. Код скомпилирован нормально с помощью nmake, за исключением gpu-part (nvcc выдает ошибку о конфигурации vs, попробовал сделать vcvars64.bat, но это не помогло). Я постараюсь собрать код с помощью vc и посмотреть, есть ли разница. Другой код, использующий opencv на win7, работает довольно хорошо, только это самоподобие очень медленно. Исходное изображение маленькое, 200x157 пикселей, с использованием 400x500 пикселей, изображение заняло 2,5 часа.

1 Ответ

0 голосов
/ 29 марта 2012

Имеет некоторый смысл, что вы наблюдаете лучшую производительность с процессором Intel. OpenCV использует Intel® Integrated Performance Primitives для повышения производительности.

Вы можете скомпилировать OpenCV без него и повторно запустить свои тесты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...