Eric Fiselier | 0e10099 | 2016-07-24 06:51:55 +0000 | [diff] [blame] | 1 | #include <vector> |
| 2 | #include <functional> |
| 3 | #include <cstdint> |
| 4 | #include <cstdlib> |
| 5 | #include <cstring> |
| 6 | |
Eric Fiselier | 1903976 | 2018-01-18 04:23:01 +0000 | [diff] [blame] | 7 | #include "benchmark/benchmark.h" |
Eric Fiselier | 0e10099 | 2016-07-24 06:51:55 +0000 | [diff] [blame] | 8 | |
Nico Weber | f938755 | 2019-08-21 01:59:12 +0000 | [diff] [blame] | 9 | #include "ContainerBenchmarks.h" |
| 10 | #include "GenerateInput.h" |
Eric Fiselier | 0e10099 | 2016-07-24 06:51:55 +0000 | [diff] [blame] | 11 | |
| 12 | using namespace ContainerBenchmarks; |
| 13 | |
| 14 | constexpr std::size_t TestNumInputs = 1024; |
| 15 | |
Eric Fiselier | d4ace50 | 2019-07-28 04:37:02 +0000 | [diff] [blame] | 16 | BENCHMARK_CAPTURE(BM_ConstructSize, |
| 17 | vector_byte, |
| 18 | std::vector<unsigned char>{})->Arg(5140480); |
| 19 | |
| 20 | BENCHMARK_CAPTURE(BM_ConstructSizeValue, |
| 21 | vector_byte, |
| 22 | std::vector<unsigned char>{}, 0)->Arg(5140480); |
| 23 | |
Eric Fiselier | 0e10099 | 2016-07-24 06:51:55 +0000 | [diff] [blame] | 24 | BENCHMARK_CAPTURE(BM_ConstructIterIter, |
| 25 | vector_char, |
| 26 | std::vector<char>{}, |
| 27 | getRandomIntegerInputs<char>)->Arg(TestNumInputs); |
| 28 | |
| 29 | BENCHMARK_CAPTURE(BM_ConstructIterIter, |
| 30 | vector_size_t, |
| 31 | std::vector<size_t>{}, |
| 32 | getRandomIntegerInputs<size_t>)->Arg(TestNumInputs); |
| 33 | |
| 34 | BENCHMARK_CAPTURE(BM_ConstructIterIter, |
| 35 | vector_string, |
| 36 | std::vector<std::string>{}, |
| 37 | getRandomStringInputs)->Arg(TestNumInputs); |
| 38 | |
| 39 | |
Eric Fiselier | 1903976 | 2018-01-18 04:23:01 +0000 | [diff] [blame] | 40 | BENCHMARK_MAIN(); |