• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <cstdint>
2 #include <cstdlib>
3 #include <cstring>
4 #include <functional>
5 #include <vector>
6 
7 #include "benchmark/benchmark.h"
8 
9 #include "ContainerBenchmarks.h"
10 #include "GenerateInput.h"
11 
12 using namespace ContainerBenchmarks;
13 
14 constexpr std::size_t TestNumInputs = 1024;
15 
16 BENCHMARK_CAPTURE(BM_ConstructSize, vector_byte, std::vector<unsigned char>{})->Arg(5140480);
17 
18 BENCHMARK_CAPTURE(BM_CopyConstruct, vector_int, std::vector<int>{})->Arg(5140480);
19 
20 BENCHMARK_CAPTURE(BM_Assignment, vector_int, std::vector<int>{})->Arg(5140480);
21 
22 BENCHMARK_CAPTURE(BM_ConstructSizeValue, vector_byte, std::vector<unsigned char>{}, 0)->Arg(5140480);
23 
24 BENCHMARK_CAPTURE(BM_ConstructIterIter, vector_char, std::vector<char>{}, getRandomIntegerInputs<char>)
25     ->Arg(TestNumInputs);
26 
27 BENCHMARK_CAPTURE(BM_ConstructIterIter, vector_size_t, std::vector<size_t>{}, getRandomIntegerInputs<size_t>)
28     ->Arg(TestNumInputs);
29 
30 BENCHMARK_CAPTURE(BM_ConstructIterIter, vector_string, std::vector<std::string>{}, getRandomStringInputs)
31     ->Arg(TestNumInputs);
32 
33 BENCHMARK_CAPTURE(BM_ConstructFromRange, vector_char, std::vector<char>{}, getRandomIntegerInputs<char>)
34     ->Arg(TestNumInputs);
35 
36 BENCHMARK_CAPTURE(BM_ConstructFromRange, vector_size_t, std::vector<size_t>{}, getRandomIntegerInputs<size_t>)
37     ->Arg(TestNumInputs);
38 
39 BENCHMARK_CAPTURE(BM_ConstructFromRange, vector_string, std::vector<std::string>{}, getRandomStringInputs)
40     ->Arg(TestNumInputs);
41 
42 BENCHMARK_CAPTURE(BM_Pushback, vector_int, std::vector<int>{})->Arg(TestNumInputs);
43 
44 BENCHMARK_MAIN();
45