Perf testing: added ERROR_RELATIVE mode to SANITY_CHECK
This commit is contained in:
@@ -52,14 +52,12 @@ PERF_TEST_P__CORE_ARITHM(add, TYPICAL_MATS_CORE_ARITHM)
|
||||
PERF_TEST_P__CORE_ARITHM(subtract, TYPICAL_MATS_CORE_ARITHM)
|
||||
PERF_TEST_P__CORE_ARITHM(min, TYPICAL_MATS_CORE_ARITHM)
|
||||
PERF_TEST_P__CORE_ARITHM(max, TYPICAL_MATS_CORE_ARITHM)
|
||||
PERF_TEST_P__CORE_ARITHM(absdiff, TYPICAL_MATS_CORE_ARITHM)
|
||||
|
||||
PERF_TEST_P__CORE_ARITHM_SCALAR(bitwise_and, TYPICAL_MATS_BITW_ARITHM)
|
||||
PERF_TEST_P__CORE_ARITHM_SCALAR(bitwise_or, TYPICAL_MATS_BITW_ARITHM)
|
||||
PERF_TEST_P__CORE_ARITHM_SCALAR(bitwise_xor, TYPICAL_MATS_BITW_ARITHM)
|
||||
PERF_TEST_P__CORE_ARITHM_SCALAR(add, TYPICAL_MATS_CORE_ARITHM)
|
||||
PERF_TEST_P__CORE_ARITHM_SCALAR(subtract, TYPICAL_MATS_CORE_ARITHM)
|
||||
PERF_TEST_P__CORE_ARITHM_SCALAR(absdiff, TYPICAL_MATS_CORE_ARITHM)
|
||||
|
||||
#ifdef ANDROID
|
||||
PERF_TEST(convert, cvRound)
|
||||
@@ -75,3 +73,41 @@ PERF_TEST(convert, cvRound)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
PERF_TEST_P(Size_MatType, core_arithm__absdiff, TYPICAL_MATS_CORE_ARITHM)
|
||||
{
|
||||
Size sz = std::tr1::get<0>(GetParam());
|
||||
int type = std::tr1::get<1>(GetParam());
|
||||
cv::Mat a = Mat(sz, type);
|
||||
cv::Mat b = Mat(sz, type);
|
||||
cv::Mat c = Mat(sz, type);
|
||||
|
||||
declare.in(a, b, WARMUP_RNG)
|
||||
.out(c);
|
||||
|
||||
TEST_CYCLE(100) absdiff(a,b, c);
|
||||
|
||||
#if CV_SSE2 //see ticket 1529: absdiff can be without saturation if SSE is enabled
|
||||
if (CV_MAT_DEPTH(type) != CV_32S)
|
||||
#endif
|
||||
SANITY_CHECK(c, 1e-8);
|
||||
}
|
||||
|
||||
PERF_TEST_P(Size_MatType, core_arithm__absdiff__Scalar, TYPICAL_MATS_CORE_ARITHM)
|
||||
{
|
||||
Size sz = std::tr1::get<0>(GetParam());
|
||||
int type = std::tr1::get<1>(GetParam());
|
||||
cv::Mat a = Mat(sz, type);
|
||||
cv::Scalar b;
|
||||
cv::Mat c = Mat(sz, type);
|
||||
|
||||
declare.in(a, b, WARMUP_RNG)
|
||||
.out(c);
|
||||
|
||||
TEST_CYCLE(100) absdiff(a,b, c);
|
||||
|
||||
#if CV_SSE2 //see ticket 1529: absdiff can be without saturation if SSE is enabled
|
||||
if (CV_MAT_DEPTH(type) != CV_32S)
|
||||
#endif
|
||||
SANITY_CHECK(c, 1e-8);
|
||||
}
|
||||
|
@@ -21,7 +21,7 @@ PERF_TEST_P( Size_MatType, sum, TYPICAL_MATS )
|
||||
|
||||
TEST_CYCLE(100) { s = sum(arr); }
|
||||
|
||||
SANITY_CHECK(s, 1e-6);
|
||||
SANITY_CHECK(s, 1e-6, ERROR_RELATIVE);
|
||||
}
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ PERF_TEST_P( Size_MatType_NormType, norm,
|
||||
|
||||
TEST_CYCLE(100) { n = norm(src1, normType); }
|
||||
|
||||
SANITY_CHECK(n, 1e-5);
|
||||
SANITY_CHECK(n, 1e-6, ERROR_RELATIVE);
|
||||
}
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@ PERF_TEST_P( Size_MatType_NormType, norm_mask,
|
||||
|
||||
TEST_CYCLE(100) { n = norm(src1, normType, mask); }
|
||||
|
||||
SANITY_CHECK(n, 1e-5);
|
||||
SANITY_CHECK(n, 1e-6, ERROR_RELATIVE);
|
||||
}
|
||||
|
||||
|
||||
@@ -143,7 +143,7 @@ PERF_TEST_P( Size_MatType_NormType, norm2,
|
||||
|
||||
TEST_CYCLE(100) { n = norm(src1, src2, normType); }
|
||||
|
||||
SANITY_CHECK(n, 1e-5);
|
||||
SANITY_CHECK(n, 1e-5, ERROR_RELATIVE);
|
||||
}
|
||||
|
||||
|
||||
@@ -171,7 +171,7 @@ PERF_TEST_P( Size_MatType_NormType, norm2_mask,
|
||||
|
||||
TEST_CYCLE(100) { n = norm(src1, src2, normType, mask); }
|
||||
|
||||
SANITY_CHECK(n, 1e-5);
|
||||
SANITY_CHECK(n, 1e-5, ERROR_RELATIVE);
|
||||
}
|
||||
|
||||
|
||||
@@ -258,8 +258,8 @@ PERF_TEST_P( Size_MatType_NormType, normalize_32f,
|
||||
declare.in(src, WARMUP_RNG).out(dst);
|
||||
|
||||
TEST_CYCLE(100) { normalize(src, dst, alpha, 0., normType, CV_32F); }
|
||||
|
||||
SANITY_CHECK(dst, 1e-6);
|
||||
|
||||
SANITY_CHECK(dst, 1e-6, ERROR_RELATIVE);
|
||||
}
|
||||
|
||||
|
||||
@@ -404,7 +404,7 @@ PERF_TEST_P( Size_MatType_ROp, reduceR,
|
||||
|
||||
TEST_CYCLE(100) { reduce(src, vec, 0, reduceOp, ddepth); }
|
||||
|
||||
SANITY_CHECK(vec);
|
||||
SANITY_CHECK(vec, 1);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -431,6 +431,6 @@ PERF_TEST_P( Size_MatType_ROp, reduceC,
|
||||
declare.in(src, WARMUP_RNG);
|
||||
|
||||
TEST_CYCLE(100) { reduce(src, vec, 1, reduceOp, ddepth); }
|
||||
|
||||
SANITY_CHECK(vec);
|
||||
|
||||
SANITY_CHECK(vec, 1);
|
||||
}
|
||||
|
Reference in New Issue
Block a user