Use a new container in each round of push_back test.

Otherwise containers keep growing and uses gigabytes of memory.
This commit is contained in:
Shuo Chen 2014-04-17 10:04:02 -07:00
parent 54cd4fd848
commit 664159372c
1 changed files with 5 additions and 4 deletions

View File

@ -86,11 +86,12 @@ BENCHMARK(BM_SetInsert)->RangePair(1<<10,8<<10, 1,10);
template<typename Q> template<typename Q>
static void BM_Sequential(benchmark::State& state) { static void BM_Sequential(benchmark::State& state) {
Q q; typename Q::value_type v = 42;
typename Q::value_type v; while (state.KeepRunning()) {
while (state.KeepRunning()) Q q;
for (int i = state.range_x(); --i; ) for (int i = state.range_x(); --i; )
q.push_back(v); q.push_back(v);
}
const int64_t items_processed = const int64_t items_processed =
static_cast<int64_t>(state.iterations()) * state.range_x(); static_cast<int64_t>(state.iterations()) * state.range_x();
state.SetItemsProcessed(items_processed); state.SetItemsProcessed(items_processed);