Conversation
airween
left a comment
There was a problem hiding this comment.
Beside the comment regarding to glaze, I would suggest to add more information about available parsers. At first, it would be enough hot to install them, which packages are necessary. Eg:
libjson-c-dev,libjson-c5or the current versionlibjansson-dev,libjansson4or the current versionlibcjson-dev,libcjson1or the current versionlibjsoncpp-dev,libjsoncpp26or the current versionlibsimdjson-dev,libsimdjson33or the current versionlibyyjson-dev,libyyjson0libglaze-dev(?)libjsoncons-dev
There was a problem hiding this comment.
Pull request overview
This PR expands jsonbench to benchmark additional JSON parsers (C and C++) by adding wrapper parser implementations, wiring them into the CLI engine selection, updating the autotools build/configure logic, and refreshing the README to reflect the newly supported engines.
Changes:
- Add parser wrapper modules for JSON-C, Jansson, cJSON, JsonCpp, jsoncons, simdjson, yyjson, and Glaze.
- Extend
jsonbenchto expose/select the new engines and run file-based parsing for those implementations. - Update autotools (
configure.ac,src/Makefile.am) and documentation (README.md) accordingly.
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| src/yyjsonparser.h | New yyjson wrapper API header |
| src/yyjsonparser.c | New yyjson file-parse wrapper implementation |
| src/simdjsonparser.h | New simdjson wrapper API header |
| src/simdjsonparser.cpp | New simdjson file-parse wrapper implementation |
| src/jsoncppparser.h | New JsonCpp wrapper API header |
| src/jsoncppparser.cpp | New JsonCpp file-parse wrapper implementation |
| src/jsoncparser.h | New json-c wrapper API header |
| src/jsoncparser.c | New json-c file-parse wrapper implementation |
| src/janssonparser.h | New Jansson wrapper API header |
| src/janssonparser.c | New Jansson file-parse wrapper implementation |
| src/jsonconsparser.h | New jsoncons wrapper API header |
| src/jsonconsparser.cpp | New jsoncons file-parse wrapper implementation |
| src/glazeparser.h | New Glaze wrapper API header |
| src/glazeparser.cpp | New Glaze file-parse wrapper implementation |
| src/cjsonparser.h | New cJSON wrapper API header |
| src/cjsonparser.c | New cJSON file-parse wrapper implementation |
| src/nlparser.cpp | Switch nlohmann include to angle-bracket form |
| src/jsonbench.c | Register new engines, add file-based execution paths |
| src/Makefile.am | Build/link new wrapper modules into jsonbench |
| configure.ac | Add configure-time detection/options for new libraries |
| README.md | Document supported engines, install/build notes, and flags |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 21 out of 21 changed files in this pull request and generated 15 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Fix JsonCpp include propagation for C++ builds Add SIMDJSON, YYJSON, and GLAZE benchmark engines Fix Glaze configure detection to use C++ compile test Fix nlohmann/json autotools integration Update README.md Update README.md Refactor Makefile.am for better readability Initialize error_msg to NULL and clean up code Clarify all-json conflict error messages Fix per-source glaze flags and guard jsoncpp/simdjson link tests Tighten configure option errors and explicit have_* fallbacks Update README.md Update README with configure command details Clarify the usage of the configure command. Remove GLAZE C++23 configuration note from README Removed special note about GLAZE requiring C++23 support and its configuration instructions. Update README.md Update GLAZE compatibility information in README Clarify compatibility of GLAZE with C++ standards. Update README.md Update README.md Update README with clearer configure option explanation Clarify the usage of the --with-all-json option in the configure command. Fix parser init/error handling and unsupported limit signaling Treat unsupported limit setters as non-fatal Apply detected GLAZE_CXXFLAGS to C++ compile flags Update README.md
No description provided.