Copy strings in benchmarks
This commit is contained in:
@@ -905,8 +905,8 @@ TEST_CASE("bench1") {
|
|||||||
ankerl::nanobench::Bench bench;
|
ankerl::nanobench::Bench bench;
|
||||||
bench.batch(json.size());
|
bench.batch(json.size());
|
||||||
bench.unit("byte");
|
bench.unit("byte");
|
||||||
auto copy = json;
|
|
||||||
bench.run("parser1", [&]() {
|
bench.run("parser1", [&]() {
|
||||||
|
auto copy = json;
|
||||||
Parser1 parser(copy.data(), copy.length(), &c, nullptr);
|
Parser1 parser(copy.data(), copy.length(), &c, nullptr);
|
||||||
bench.doNotOptimizeAway(parser.parse());
|
bench.doNotOptimizeAway(parser.parse());
|
||||||
});
|
});
|
||||||
@@ -917,8 +917,8 @@ TEST_CASE("bench2") {
|
|||||||
ankerl::nanobench::Bench bench;
|
ankerl::nanobench::Bench bench;
|
||||||
bench.batch(json.size());
|
bench.batch(json.size());
|
||||||
bench.unit("byte");
|
bench.unit("byte");
|
||||||
auto copy = json;
|
|
||||||
bench.run("parser2", [&]() {
|
bench.run("parser2", [&]() {
|
||||||
|
auto copy = json;
|
||||||
Parser2 parser(copy.data(), copy.length(), &c, nullptr);
|
Parser2 parser(copy.data(), copy.length(), &c, nullptr);
|
||||||
bench.doNotOptimizeAway(parser.parse());
|
bench.doNotOptimizeAway(parser.parse());
|
||||||
});
|
});
|
||||||
@@ -929,8 +929,8 @@ TEST_CASE("bench3") {
|
|||||||
ankerl::nanobench::Bench bench;
|
ankerl::nanobench::Bench bench;
|
||||||
bench.batch(json.size());
|
bench.batch(json.size());
|
||||||
bench.unit("byte");
|
bench.unit("byte");
|
||||||
simdjson::padded_string my_padded_data(json.data(), json.size());
|
|
||||||
bench.run("parser3", [&]() {
|
bench.run("parser3", [&]() {
|
||||||
|
simdjson::padded_string my_padded_data(json.data(), json.size());
|
||||||
simdjson::dom::parser parser;
|
simdjson::dom::parser parser;
|
||||||
auto doc = parser.parse(my_padded_data);
|
auto doc = parser.parse(my_padded_data);
|
||||||
bench.doNotOptimizeAway(doc);
|
bench.doNotOptimizeAway(doc);
|
||||||
@@ -942,8 +942,8 @@ TEST_CASE("bench4") {
|
|||||||
ankerl::nanobench::Bench bench;
|
ankerl::nanobench::Bench bench;
|
||||||
bench.batch(json.size());
|
bench.batch(json.size());
|
||||||
bench.unit("byte");
|
bench.unit("byte");
|
||||||
padded_string my_padded_data(json.data(), json.size());
|
|
||||||
bench.run("parser4", [&]() {
|
bench.run("parser4", [&]() {
|
||||||
|
padded_string my_padded_data(json.data(), json.size());
|
||||||
ondemand::parser parser;
|
ondemand::parser parser;
|
||||||
auto doc = parser.iterate(my_padded_data);
|
auto doc = parser.iterate(my_padded_data);
|
||||||
bench.doNotOptimizeAway(doc);
|
bench.doNotOptimizeAway(doc);
|
||||||
|
|||||||
Reference in New Issue
Block a user