Refactored performance tests. TEST_CYCLE macro is renamed to TEST_CYCLE_N; SIMPLE_TEST_CYCLE is renamed to TEST_CYCLE; from now 100 iterations are default for performance tests

This commit is contained in:
Andrey Kamaev
2011-12-29 16:46:16 +00:00
parent 80f422a531
commit 65f5343ed5
39 changed files with 1062 additions and 1039 deletions

View File

@@ -9,13 +9,13 @@ using std::tr1::get;
typedef std::tr1::tuple<Size, MatType, int> Size_MatType_kSize_t;
typedef perf::TestBaseWithParam<Size_MatType_kSize_t> Size_MatType_kSize;
PERF_TEST_P( Size_MatType_kSize, medianBlur,
testing::Combine(
testing::Values(szODD, szQVGA, szVGA, sz720p),
testing::Values(CV_8UC1, CV_8UC4, CV_16UC1, CV_16SC1, CV_32FC1),
testing::Values(3, 5)
)
)
PERF_TEST_P(Size_MatType_kSize, medianBlur,
testing::Combine(
testing::Values(szODD, szQVGA, szVGA, sz720p),
testing::Values(CV_8UC1, CV_8UC4, CV_16UC1, CV_16SC1, CV_32FC1),
testing::Values(3, 5)
)
)
{
Size size = get<0>(GetParam());
int type = get<1>(GetParam());
@@ -29,10 +29,7 @@ PERF_TEST_P( Size_MatType_kSize, medianBlur,
if (CV_MAT_DEPTH(type) > CV_16S || CV_MAT_CN(type) > 1)
declare.time(15);
TEST_CYCLE(100)
{
medianBlur(src, dst, ksize);
}
TEST_CYCLE() medianBlur(src, dst, ksize);
SANITY_CHECK(dst);
}
@@ -46,13 +43,13 @@ typedef perf::TestBaseWithParam<Size_MatType_BorderType3x3_t> Size_MatType_Borde
typedef std::tr1::tuple<Size, MatType, BorderType> Size_MatType_BorderType_t;
typedef perf::TestBaseWithParam<Size_MatType_BorderType_t> Size_MatType_BorderType;
PERF_TEST_P( Size_MatType_BorderType3x3, gaussianBlur3x3,
testing::Combine(
testing::Values(szODD, szQVGA, szVGA, sz720p),
testing::Values(CV_8UC1, CV_8UC4, CV_16UC1, CV_16SC1, CV_32FC1),
testing::ValuesIn(BorderType3x3::all())
)
)
PERF_TEST_P(Size_MatType_BorderType3x3, gaussianBlur3x3,
testing::Combine(
testing::Values(szODD, szQVGA, szVGA, sz720p),
testing::Values(CV_8UC1, CV_8UC4, CV_16UC1, CV_16SC1, CV_32FC1),
testing::ValuesIn(BorderType3x3::all())
)
)
{
Size size = get<0>(GetParam());
int type = get<1>(GetParam());
@@ -63,21 +60,18 @@ PERF_TEST_P( Size_MatType_BorderType3x3, gaussianBlur3x3,
declare.in(src, WARMUP_RNG).out(dst);
TEST_CYCLE(100)
{
GaussianBlur(src, dst, Size(3,3), 0, 0, btype);
}
TEST_CYCLE() GaussianBlur(src, dst, Size(3,3), 0, 0, btype);
SANITY_CHECK(dst);
}
PERF_TEST_P( Size_MatType_BorderType3x3, blur3x3,
testing::Combine(
testing::Values(szODD, szQVGA, szVGA, sz720p),
testing::Values(CV_8UC1, CV_8UC4, CV_16UC1, CV_16SC1, CV_32FC1),
testing::ValuesIn(BorderType3x3::all())
)
)
PERF_TEST_P(Size_MatType_BorderType3x3, blur3x3,
testing::Combine(
testing::Values(szODD, szQVGA, szVGA, sz720p),
testing::Values(CV_8UC1, CV_8UC4, CV_16UC1, CV_16SC1, CV_32FC1),
testing::ValuesIn(BorderType3x3::all())
)
)
{
Size size = get<0>(GetParam());
int type = get<1>(GetParam());
@@ -88,21 +82,18 @@ PERF_TEST_P( Size_MatType_BorderType3x3, blur3x3,
declare.in(src, WARMUP_RNG).out(dst);
TEST_CYCLE(100)
{
blur(src, dst, Size(3,3), Point(-1,-1), btype);
}
TEST_CYCLE() blur(src, dst, Size(3,3), Point(-1,-1), btype);
SANITY_CHECK(dst);
}
PERF_TEST_P( Size_MatType_BorderType, gaussianBlur5x5,
testing::Combine(
testing::Values(szODD, szQVGA, szVGA, sz720p),
testing::Values(CV_8UC1, CV_8UC4, CV_16UC1, CV_16SC1, CV_32FC1),
testing::ValuesIn(BorderType::all())
)
)
PERF_TEST_P(Size_MatType_BorderType, gaussianBlur5x5,
testing::Combine(
testing::Values(szODD, szQVGA, szVGA, sz720p),
testing::Values(CV_8UC1, CV_8UC4, CV_16UC1, CV_16SC1, CV_32FC1),
testing::ValuesIn(BorderType::all())
)
)
{
Size size = get<0>(GetParam());
int type = get<1>(GetParam());
@@ -113,21 +104,18 @@ PERF_TEST_P( Size_MatType_BorderType, gaussianBlur5x5,
declare.in(src, WARMUP_RNG).out(dst);
TEST_CYCLE(100)
{
GaussianBlur(src, dst, Size(5,5), 0, 0, btype);
}
TEST_CYCLE() GaussianBlur(src, dst, Size(5,5), 0, 0, btype);
SANITY_CHECK(dst);
}
PERF_TEST_P( Size_MatType_BorderType, blur5x5,
testing::Combine(
testing::Values(szODD, szQVGA, szVGA, sz720p),
testing::Values(CV_8UC1, CV_8UC4, CV_16UC1, CV_16SC1, CV_32FC1),
testing::ValuesIn(BorderType::all())
)
)
PERF_TEST_P(Size_MatType_BorderType, blur5x5,
testing::Combine(
testing::Values(szODD, szQVGA, szVGA, sz720p),
testing::Values(CV_8UC1, CV_8UC4, CV_16UC1, CV_16SC1, CV_32FC1),
testing::ValuesIn(BorderType::all())
)
)
{
Size size = get<0>(GetParam());
int type = get<1>(GetParam());
@@ -138,10 +126,7 @@ PERF_TEST_P( Size_MatType_BorderType, blur5x5,
declare.in(src, WARMUP_RNG).out(dst);
TEST_CYCLE(100)
{
blur(src, dst, Size(5,5), Point(-1,-1), btype);
}
TEST_CYCLE() blur(src, dst, Size(5,5), Point(-1,-1), btype);
SANITY_CHECK(dst);
}