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