- compare.py: make --data, --corpus, and --build-dir absolute, since the
benchmarks run in the build directory; download into a .part file and
remove an archive whose SHA-256 does not match, so that an interrupted
download is not kept
- bench_view/bench_corpus/bench_edit: report files that cannot be opened instead of
aborting; run each engine once untimed before its timed call, so that
no engine pays for the allocator cleaning up after the previous one
(with glibc, json_view after json::parse looked 1.7x slower on
citm_catalog traverse); add "simdjson DOM (fresh)" and time
"json_view (reused)" for traverse and select too
- README: explain fresh vs. reused documents and page faults on Linux
Signed-off-by: Niels Lohmann <mail@nlohmann.me>
bench_edit.cpp joins the comparison: parse, apply the same logical edits
with each library's own API (a handful at fixed places, or one in every
record), and serialize; all outputs must describe the same value.
compare.py builds and runs it with the other two programs.
Signed-off-by: Niels Lohmann <mail@nlohmann.me>