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