diff --git a/src/test.cpp b/src/test.cpp index 280d4f0..f798693 100644 --- a/src/test.cpp +++ b/src/test.cpp @@ -270,9 +270,10 @@ TEST_CASE("bench3") { bench.batch(json.size()); bench.unit("byte"); auto *parser = WeaselJsonParser_create(1024, &c, nullptr, 0); + std::string copy; for (size_t stride = 128; stride <= json.size(); stride *= 2) { bench.run("parser3 (stride: " + std::to_string(stride) + ")", [&]() { - auto copy = json; + copy = json; WeaselJsonParser_reset(parser); for (size_t i = 0; i < copy.size(); i += stride) { if (WeaselJsonParser_parse(parser, copy.data() + i, @@ -383,10 +384,11 @@ TEST_CASE("bench input types") { bench.doNotOptimizeAway(doc); }); + std::string copy; { auto *parser = WeaselJsonParser_create(1024, &c, nullptr, 0); bench.run("parser3 " + name, [&]() { - auto copy = json; + copy = json; WeaselJsonParser_reset(parser); if (WeaselJsonParser_parse(parser, copy.data(), copy.size()) != WeaselJson_AGAIN) { @@ -401,7 +403,7 @@ TEST_CASE("bench input types") { { auto *parser = WeaselJsonParser_create(1024, &c, nullptr, WeaselJsonRaw); bench.run("parser3 (raw) " + name, [&]() { - auto copy = json; + copy = json; WeaselJsonParser_reset(parser); if (WeaselJsonParser_parse(parser, copy.data(), copy.size()) != WeaselJson_AGAIN) {