void randomImpl()

in benchmarks/concurrent_vector_benchmark.cpp [313:334]


void randomImpl(benchmark::State& state, ContainerInit containerInit) {
  auto values = containerInit();
  std::vector<size_t> indices;
  for (size_t i = 0; i < kLength; ++i) {
    values.push_back(i);
    indices.push_back(i);
  }

  // Make this repeatable.
  std::mt19937 rng(27);
  std::shuffle(indices.begin(), indices.end(), rng);

  int64_t sum;
  for (auto UNUSED_VAR : state) {
    sum = 0;
    for (auto i : indices) {
      sum += values[i];
    }
  }

  checkIotaSum(sum);
}