Use a new container in each round of push_back test.
Otherwise containers keep growing and uses gigabytes of memory.
diff --git a/test/benchmark_test.cc b/test/benchmark_test.cc
index 7bbc908..95999c5 100644
--- a/test/benchmark_test.cc
+++ b/test/benchmark_test.cc
@@ -86,12 +86,13 @@
template<typename Q>
static void BM_Sequential(benchmark::State& state) {
- Q q;
- typename Q::value_type v;
- while (state.KeepRunning())
+ typename Q::value_type v = 42;
+ while (state.KeepRunning()) {
+ Q q;
for (int i = state.range_x(); --i; )
q.push_back(v);
- const int64_t items_processed =
+ }
+ const int64_t items_processed =
static_cast<int64_t>(state.iterations()) * state.range_x();
state.SetItemsProcessed(items_processed);
state.SetBytesProcessed(items_processed * sizeof(v));