91 SECTION(
"Domain forward traversal")
96 for (std::size_t i = 0; i < N; ++i)
99 for (
auto const& pt :
domain)
104 trace.info() <<
"Domain traversal: " << duration <<
" s ; " << (
domain.size()/duration*1e-9) <<
" Gpts/s ; check = " << check << std::endl;
107 SECTION(
"Domain reverse traversal")
112 for (std::size_t i = 0; i < N; ++i)
115 for (
auto it =
domain.rbegin(), it_end =
domain.rend(); it != it_end; ++it)
120 trace.info() <<
"Domain reverse traversal: " << duration <<
" s ; " << (
domain.size()/duration*1e-9) <<
" Gpts/s ; check = " << check << std::endl;
123 SECTION(
"Benchmarking domain traversal using subRange")
128 for (std::size_t i = 0; i < N; ++i)
131 for (
auto const& pt :
domain.subRange(dimensions))
136 trace.info() <<
"Domain traversal using subRange: " << duration <<
" s ; " << (
domain.size()/duration*1e-9) <<
" Gpts/s ; check = " << check << std::endl;
139 SECTION(
"Benchmarking domain reverse traversal using subRange")
142 const auto range =
domain.subRange(dimensions);
145 for (std::size_t i = 0; i < N; ++i)
148 for (
auto it = range.rbegin(), it_end = range.rend(); it != it_end; ++it)
153 trace.info() <<
"Domain reverse traversal using subRange: " << duration <<
" s ; " << (
domain.size()/duration*1e-9) <<
" Gpts/s ; check = " << check << std::endl;
double toc()
Ends timer and return elapsed time.
auto tic_timer
Timer used in tic and toc.
TEST_CASE_METHOD(BenchDomain, "Benchmarking HyperRectDomain iterators using custom implementation")
Aim: Parallelepidec region of a digital space, model of a 'CDomain'.
std::vector< Point::Dimension > dimensions
DGtal::SpaceND< dim > Space
static constexpr std::size_t dim
static constexpr std::size_t N
DGtal::HyperRectDomain< Space > Domain
static constexpr signed long long int size