xref: /netbsd-src/external/apache2/llvm/dist/libcxx/benchmarks/deque.bench.cpp (revision 4d6fc14bc9b0c5bf3e30be318c143ee82cadd108)
1*4d6fc14bSjoerg // -*- C++ -*-
2*4d6fc14bSjoerg //===----------------------------------------------------------------------===//
3*4d6fc14bSjoerg //
4*4d6fc14bSjoerg // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5*4d6fc14bSjoerg // See https://llvm.org/LICENSE.txt for license information.
6*4d6fc14bSjoerg // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7*4d6fc14bSjoerg //
8*4d6fc14bSjoerg //===----------------------------------------------------------------------===//
9*4d6fc14bSjoerg 
10*4d6fc14bSjoerg #include <deque>
11*4d6fc14bSjoerg 
12*4d6fc14bSjoerg #include "benchmark/benchmark.h"
13*4d6fc14bSjoerg 
14*4d6fc14bSjoerg #include "ContainerBenchmarks.h"
15*4d6fc14bSjoerg #include "GenerateInput.h"
16*4d6fc14bSjoerg 
17*4d6fc14bSjoerg using namespace ContainerBenchmarks;
18*4d6fc14bSjoerg 
19*4d6fc14bSjoerg constexpr std::size_t TestNumInputs = 1024;
20*4d6fc14bSjoerg 
21*4d6fc14bSjoerg BENCHMARK_CAPTURE(BM_ConstructSize,
22*4d6fc14bSjoerg     deque_byte,
23*4d6fc14bSjoerg     std::deque<unsigned char>{})->Arg(5140480);
24*4d6fc14bSjoerg 
25*4d6fc14bSjoerg BENCHMARK_CAPTURE(BM_ConstructSizeValue,
26*4d6fc14bSjoerg     deque_byte,
27*4d6fc14bSjoerg     std::deque<unsigned char>{}, 0)->Arg(5140480);
28*4d6fc14bSjoerg 
29*4d6fc14bSjoerg BENCHMARK_CAPTURE(BM_ConstructIterIter,
30*4d6fc14bSjoerg   deque_char,
31*4d6fc14bSjoerg   std::deque<char>{},
32*4d6fc14bSjoerg   getRandomIntegerInputs<char>)->Arg(TestNumInputs);
33*4d6fc14bSjoerg 
34*4d6fc14bSjoerg BENCHMARK_CAPTURE(BM_ConstructIterIter,
35*4d6fc14bSjoerg   deque_size_t,
36*4d6fc14bSjoerg   std::deque<size_t>{},
37*4d6fc14bSjoerg   getRandomIntegerInputs<size_t>)->Arg(TestNumInputs);
38*4d6fc14bSjoerg 
39*4d6fc14bSjoerg BENCHMARK_CAPTURE(BM_ConstructIterIter,
40*4d6fc14bSjoerg   deque_string,
41*4d6fc14bSjoerg   std::deque<std::string>{},
42*4d6fc14bSjoerg   getRandomStringInputs)->Arg(TestNumInputs);
43*4d6fc14bSjoerg 
44*4d6fc14bSjoerg 
45*4d6fc14bSjoerg 
46*4d6fc14bSjoerg 
47*4d6fc14bSjoerg BENCHMARK_MAIN();
48