Skip to content

Commit 1b115db

Browse files
committed
Adding jsoncpp
1 parent 85d8c9d commit 1b115db

File tree

8 files changed

+8162
-4
lines changed

8 files changed

+8162
-4
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,6 @@
2222
[submodule "dependencies/cJSON"]
2323
path = dependencies/cJSON
2424
url = https://github.com/DaveGamble/cJSON.git
25+
[submodule "dependencies/jsoncpp"]
26+
path = dependencies/jsoncpp
27+
url = https://github.com/open-source-parsers/jsoncpp.git

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
.PHONY: clean cleandist
88
COREDEPSINCLUDE = -Idependencies/rapidjson/include -Idependencies/sajson/include -Idependencies/cJSON -Idependencies/jsmn
9-
EXTRADEPSINCLUDE = -Idependencies/json11 -Idependencies/fastjson/src -Idependencies/fastjson/include -Idependencies/gason/src -Idependencies/ujson4c/3rdparty -Idependencies/ujson4c/src
9+
EXTRADEPSINCLUDE = -Idependencies/jsoncppdist -Idependencies/json11 -Idependencies/fastjson/src -Idependencies/fastjson/include -Idependencies/gason/src -Idependencies/ujson4c/3rdparty -Idependencies/ujson4c/src
1010
CXXFLAGS = -std=c++17 -march=native -Wall -Wextra -Wshadow -Iinclude -Ibenchmark/linux
1111
CFLAGS = -march=native -Idependencies/ujson4c/3rdparty -Idependencies/ujson4c/src
1212
ifeq ($(SANITIZE),1)
@@ -42,6 +42,7 @@ UJSON4C_INCLUDE:=dependencies/ujson4c/src/ujdecode.c
4242
CJSON_INCLUDE:=dependencies/cJSON/cJSON.h
4343
JSMN_INCLUDE:=dependencies/jsmn/jsmn.h
4444

45+
4546
LIBS=$(RAPIDJSON_INCLUDE) $(SAJSON_INCLUDE) $(JSON11_INCLUDE) $(FASTJSON_INCLUDE) $(GASON_INCLUDE) $(UJSON4C_INCLUDE) $(CJSON_INCLUDE) $(JSMN_INCLUDE)
4647

4748
EXTRAOBJECTS=ujdecode.o

benchmark/parsingcompetition.cpp

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,12 @@
2020
#include "sajson.h"
2121

2222
#ifdef ALLPARSER
23+
24+
2325
#include "fastjson.cpp"
2426
#include "fastjson_dom.cpp"
2527
#include "gason.cpp"
28+
2629
#include "json11.cpp"
2730
extern "C" {
2831
#include "ujdecode.h"
@@ -32,6 +35,10 @@ extern "C" {
3235
#include "jsmn.h"
3336
#include "jsmn.c"
3437
}
38+
39+
#include "json/json.h"
40+
#include "jsoncpp.cpp"
41+
3542
#endif
3643

3744
using namespace rapidjson;
@@ -238,7 +245,16 @@ int main(int argc, char *argv[]) {
238245
BEST_TIME("cJSON ",
239246
((tree = cJSON_Parse(buffer)) != NULL ), true,
240247
cJSON_Delete(tree), repeat, volume, !justdata);
241-
cJSON_Delete(tree);
248+
cJSON_Delete(tree);
249+
250+
Json::CharReaderBuilder b;
251+
Json::CharReader * jsoncppreader = b.newCharReader();
252+
Json::Value root;
253+
Json::String errs;
254+
BEST_TIME("jsoncpp ",
255+
jsoncppreader->parse(buffer,buffer+volume,&root,&errs), true,
256+
, repeat, volume, !justdata);
257+
delete jsoncppreader;
242258
#endif
243259
if(!justdata) BEST_TIME("memcpy ",
244260
(memcpy(buffer, p.data(), p.size()) == buffer), true, , repeat,

dependencies/jsoncpp

Submodule jsoncpp added at 0c1cc6e

0 commit comments

Comments
 (0)