Skip to content

add json lib #1

Open
Easton97-Jens wants to merge 1 commit intodigitalwave:mainfrom
Easton97-Jens:main
Open

add json lib #1
Easton97-Jens wants to merge 1 commit intodigitalwave:mainfrom
Easton97-Jens:main

Conversation

@Easton97-Jens
Copy link
Copy Markdown

No description provided.

Copy link
Copy Markdown
Member

@airween airween left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-c5 or the current version
  • libjansson-dev, libjansson4 or the current version
  • libcjson-dev, libcjson1 or the current version
  • libjsoncpp-dev, libjsoncpp26 or the current version
  • libsimdjson-dev, libsimdjson33 or the current version
  • libyyjson-dev, libyyjson0
  • libglaze-dev (?)
  • libjsoncons-dev

Comment thread configure.ac
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 jsonbench to 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.

Comment thread configure.ac Outdated
Comment thread configure.ac Outdated
Comment thread configure.ac Outdated
Comment thread configure.ac Outdated
Comment thread configure.ac Outdated
Comment thread src/jsonbench.c Outdated
Comment thread configure.ac
Comment thread configure.ac Outdated
Comment thread src/Makefile.am
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread src/Makefile.am Outdated
Comment thread src/jsoncparser.h
Comment thread src/janssonparser.h
Comment thread src/cjsonparser.h
Comment thread src/yyjsonparser.h
Comment thread src/jsonbench.c Outdated
Comment thread src/jsonbench.c Outdated
Comment thread src/jsonbench.c Outdated
Comment thread src/jsonbench.c Outdated
Comment thread src/jsonbench.c Outdated
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants