89TEST_CASE_METHOD( BenchDomain,
"Benchmarking HyperRectDomain iterators using custom implementation" )
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)
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)
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")
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")
ConstReverseIterator rbegin() const
ConstSubRange subRange(const std::vector< Dimension > &permutation) const
ConstReverseIterator rend() const
DGtal::LinearOperator< Calculus, dim, duality, dim, duality > diagonal(const DGtal::KForm< Calculus, dim, duality > &kform)