OpenCV производительность: C++ vs EMGU vs JavaCV

Тест производительности OpenCV. Среди испытуемых:

1. Нативная opencv 2.4.8 из «коробки» без перекомпиляции библиотек. С++ (visual studio 2013)

2. Emgu CV 2.9 (2.4.9). С# (visual studio 2013)

3. javaCV 2.4.8. java (eclips)

Тестовые предельные простые: 1000 проходов canny по lena, время замеряется без учета загрузки фотографии. Код почти идентичный, каждая версия запускалось 6 раз на одной и той же системе (Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz, nvidia 635m, win 8)

clip_image002

clip_image004

Как видно разницы между C++, C# и Java все же есть и предсказуемо C++ быстрее, но разница ничтожна, правда java все же чуть медленнее конкурентов. Кроме того, и в среднеквадратичном отклонении нет какого-то сильно преимущества C++. А вот разница между x86 и x64 заметная, хотя удивительно, но в Cuda реализации x64 наоборот медленнее. Из всего этого можно сделать вывод: никакой существенной разницы в производительности opencv при ее прямом использовании(с++) или же через обертки (c#, java) нет.

Technorati Теги: ,,,

Оставьте комментарий