Thanks for the comments. I'll update the comment about TBB on the
benchmark webpage to highlight this issue. I remember seeing some
message that OpenCV was going to have another major release soon. After
that release I'll check to see what has been updated.
This could present a bit of a problem as far as the benchmark goes if
they deprecate the non TBB version, but don't provide a way to force it
to use a single thread. There are good reasons to not want a single
application to suddenly hog all the available resources. A
multi-threaded benchmark has been under consideration.
The OpenCV code is based off example code on their website and uses the
C++ interface. The benchmark is designed replicate the performance that
a non-expert, who is not intimately familiar with a library's internal
working, would get. So I don't think it would be appropriate to jump
through hoops beyond what their own instructions provide.
When going through OpenCV's code to try to understand what they were
doing, I was under the impression that the TBB/non TBB code shared a
fair amount in common. "emilie" might have been invoking the
multi-threaded version on a multicore/processor computer using the C++
interface and single threaded version using the c interface. So I'm not
entirely sure that a single threaded TBB code would be any faster than
single threaded non TBB. The SURF code in OpenCV is a bit of a mess and
I could be mistaken.
- Peter