Copy strings in benchmarks

This commit is contained in:
2025-05-13 15:29:45 -04:00
parent 73762b53db
commit cf08854664

View File

@@ -905,8 +905,8 @@ TEST_CASE("bench1") {
ankerl::nanobench::Bench bench;
bench.batch(json.size());
bench.unit("byte");
auto copy = json;
bench.run("parser1", [&]() {
auto copy = json;
Parser1 parser(copy.data(), copy.length(), &c, nullptr);
bench.doNotOptimizeAway(parser.parse());
});
@@ -917,8 +917,8 @@ TEST_CASE("bench2") {
ankerl::nanobench::Bench bench;
bench.batch(json.size());
bench.unit("byte");
auto copy = json;
bench.run("parser2", [&]() {
auto copy = json;
Parser2 parser(copy.data(), copy.length(), &c, nullptr);
bench.doNotOptimizeAway(parser.parse());
});
@@ -929,8 +929,8 @@ TEST_CASE("bench3") {
ankerl::nanobench::Bench bench;
bench.batch(json.size());
bench.unit("byte");
simdjson::padded_string my_padded_data(json.data(), json.size());
bench.run("parser3", [&]() {
simdjson::padded_string my_padded_data(json.data(), json.size());
simdjson::dom::parser parser;
auto doc = parser.parse(my_padded_data);
bench.doNotOptimizeAway(doc);
@@ -942,8 +942,8 @@ TEST_CASE("bench4") {
ankerl::nanobench::Bench bench;
bench.batch(json.size());
bench.unit("byte");
padded_string my_padded_data(json.data(), json.size());
bench.run("parser4", [&]() {
padded_string my_padded_data(json.data(), json.size());
ondemand::parser parser;
auto doc = parser.iterate(my_padded_data);
bench.doNotOptimizeAway(doc);