Skip to content

Commit ba81e2a

Browse files
committed
features2d: initialize TBB scheduler in perf tests
* ensures more stable output * more reasonable profiles, since the first call of parallel_for_ is not getting big performace hit
1 parent 76151e5 commit ba81e2a

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

modules/features2d/perf/perf_feature2d.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ PERF_TEST_P(feature2d, detect, testing::Combine(Feature2DType::all(), TEST_IMAGE
1212
declare.in(img);
1313
Mat mask;
1414
vector<KeyPoint> points;
15+
// initialize task scheduler for TBB
16+
cv::setNumThreads(cv::getNumberOfCPUs());
1517

1618
TEST_CYCLE() detector->detect(img, points, mask);
1719

@@ -32,8 +34,10 @@ PERF_TEST_P(feature2d, extract, testing::Combine(testing::Values(DETECTORS_EXTRA
3234
declare.in(img);
3335
Mat mask;
3436
vector<KeyPoint> points;
35-
detector->detect(img, points, mask);
37+
// initialize task scheduler for TBB
38+
cv::setNumThreads(cv::getNumberOfCPUs());
3639

40+
detector->detect(img, points, mask);
3741
EXPECT_GT(points.size(), 20u);
3842

3943
Mat descriptors;
@@ -57,6 +61,8 @@ PERF_TEST_P(feature2d, detectAndExtract, testing::Combine(testing::Values(DETECT
5761
Mat mask;
5862
vector<KeyPoint> points;
5963
Mat descriptors;
64+
// initialize task scheduler for TBB
65+
cv::setNumThreads(cv::getNumberOfCPUs());
6066

6167
TEST_CYCLE() detector->detectAndCompute(img, mask, points, descriptors, false);
6268

0 commit comments

Comments
 (0)