xref: /netbsd-src/external/apache2/llvm/dist/libcxx/benchmarks/vector_operations.bench.cpp (revision 4d6fc14bc9b0c5bf3e30be318c143ee82cadd108)
1*4d6fc14bSjoerg #include <vector>
2*4d6fc14bSjoerg #include <functional>
3*4d6fc14bSjoerg #include <cstdint>
4*4d6fc14bSjoerg #include <cstdlib>
5*4d6fc14bSjoerg #include <cstring>
6*4d6fc14bSjoerg 
7*4d6fc14bSjoerg #include "benchmark/benchmark.h"
8*4d6fc14bSjoerg 
9*4d6fc14bSjoerg #include "ContainerBenchmarks.h"
10*4d6fc14bSjoerg #include "GenerateInput.h"
11*4d6fc14bSjoerg 
12*4d6fc14bSjoerg using namespace ContainerBenchmarks;
13*4d6fc14bSjoerg 
14*4d6fc14bSjoerg constexpr std::size_t TestNumInputs = 1024;
15*4d6fc14bSjoerg 
16*4d6fc14bSjoerg BENCHMARK_CAPTURE(BM_ConstructSize,
17*4d6fc14bSjoerg     vector_byte,
18*4d6fc14bSjoerg     std::vector<unsigned char>{})->Arg(5140480);
19*4d6fc14bSjoerg 
20*4d6fc14bSjoerg BENCHMARK_CAPTURE(BM_ConstructSizeValue,
21*4d6fc14bSjoerg     vector_byte,
22*4d6fc14bSjoerg     std::vector<unsigned char>{}, 0)->Arg(5140480);
23*4d6fc14bSjoerg 
24*4d6fc14bSjoerg BENCHMARK_CAPTURE(BM_ConstructIterIter,
25*4d6fc14bSjoerg   vector_char,
26*4d6fc14bSjoerg   std::vector<char>{},
27*4d6fc14bSjoerg   getRandomIntegerInputs<char>)->Arg(TestNumInputs);
28*4d6fc14bSjoerg 
29*4d6fc14bSjoerg BENCHMARK_CAPTURE(BM_ConstructIterIter,
30*4d6fc14bSjoerg   vector_size_t,
31*4d6fc14bSjoerg   std::vector<size_t>{},
32*4d6fc14bSjoerg   getRandomIntegerInputs<size_t>)->Arg(TestNumInputs);
33*4d6fc14bSjoerg 
34*4d6fc14bSjoerg BENCHMARK_CAPTURE(BM_ConstructIterIter,
35*4d6fc14bSjoerg   vector_string,
36*4d6fc14bSjoerg   std::vector<std::string>{},
37*4d6fc14bSjoerg   getRandomStringInputs)->Arg(TestNumInputs);
38*4d6fc14bSjoerg 
39*4d6fc14bSjoerg 
40*4d6fc14bSjoerg BENCHMARK_MAIN();
41