Compare to simdjson
This commit is contained in:
31
src/test.cpp
31
src/test.cpp
@@ -9,6 +9,7 @@
|
||||
|
||||
#include <doctest.h>
|
||||
#include <nanobench.h>
|
||||
#include <simdjson.h>
|
||||
|
||||
// This is the JSON grammar in McKeeman Form.
|
||||
|
||||
@@ -904,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());
|
||||
});
|
||||
@@ -916,9 +917,35 @@ 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());
|
||||
});
|
||||
}
|
||||
|
||||
TEST_CASE("bench3") {
|
||||
using namespace simdjson;
|
||||
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::dom::parser parser;
|
||||
auto doc = parser.parse(my_padded_data);
|
||||
bench.doNotOptimizeAway(doc);
|
||||
});
|
||||
}
|
||||
|
||||
TEST_CASE("bench4") {
|
||||
using namespace simdjson;
|
||||
ankerl::nanobench::Bench bench;
|
||||
bench.batch(json.size());
|
||||
bench.unit("byte");
|
||||
padded_string my_padded_data(json.data(), json.size());
|
||||
bench.run("parser4", [&]() {
|
||||
ondemand::parser parser;
|
||||
auto doc = parser.iterate(my_padded_data);
|
||||
bench.doNotOptimizeAway(doc);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user