32 #include <benchmark/benchmark.h>
33 #include <unordered_set>
35 #include "DGtal/base/Common.h"
36 #include "DGtal/kernel/domains/CDomainArchetype.h"
37 #include "DGtal/kernel/sets/DigitalSetBySTLVector.h"
38 #include "DGtal/kernel/sets/DigitalSetBySTLSet.h"
39 #include "DGtal/kernel/sets/DigitalSetByAssociativeContainer.h"
40 #include "DGtal/kernel/sets/DigitalSetFromMap.h"
42 #include "DGtal/kernel/PointHashFunctions.h"
44 #include "DGtal/helpers/StdDefs.h"
51 using namespace DGtal;
65 while (state.KeepRunning())
69 typename Q::Point().diagonal(state.range(0)));
85 Q myset(
typename Q::Domain( Q::Point::diagonal(0), Q::Point::diagonal(2048) ));
86 while (state.KeepRunning())
90 for(
unsigned int j=0; j < Q::Point::dimension; j++)
109 Q myset(
typename Q::Domain( Q::Point::diagonal(0), Q::Point::diagonal(2048) ));
110 for(
unsigned int i= 0; i < state.range(0); ++i)
113 for(
unsigned int j=0; j < Q::Point::dimension; j++)
114 p[j] = rand() % 2048;
117 while (state.KeepRunning())
119 for(
typename Q::ConstIterator it= myset.begin(), itend=myset.end(); it != itend;
121 benchmark::DoNotOptimize(it);
135 int main(
int argc,
char**argv )
137 benchmark::Initialize(&argc, argv);
139 benchmark::RunSpecifiedBenchmarks();