forked from weaselab/weaseljson
Avoid some unnecessary string destruction in bench
This commit is contained in:
+5
-3
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user