simdjson 사용기

기션·2024년 11월 27일

장점: 빠르다.

rapidjson보다 4배 이상은 빠르다고 한다.
rapidjson도 이번에 처음 알았고, nlohmann을 쓰고 있었는데, rapidjson 이 일단 nlohmann보다는 10배 정도 빠르다. 경이로울 정도.
하지만, 4배더 빠르단 말에 적용해서 테스트해본결과, 수치상 2배 정도 빠르다.

단점: 읽기만 지원한다.

Load만 되고, 쓰기 기능은 없다.
설치하는게 번거롭다.

설치과정 비교.

nlohmann json.

파일 하나 복사 후 include하면 끝.
#include <nlohmann/json.hpp>

rapidjson.

폴더 통째로 복사후 여러파일 include

#include <rapidjson/document.h>
#include <rapidjson/writer.h>
#include <rapidjson/stringbuffer.h>
#include <rapidjson/reader.h>
#include <rapidjson/filereadstream.h>
하지만, 추가 프로젝터 설정 필요 없음

simdjson

파일이 많고, 프로젝트에 추가 디렉토리 등 설정 필요.
cpp를 추가하면 된다는데, 잘 안되었다.
그래서 별도로 simdjson을 빌드한후 lib파일 만들어 부침.

사용방법

나중에 꼭 필요하면 추가 예정. 사용방법자체는 그렇게 어렵지 않아 보임

주의사항

dom형식과 ondemand가 조금 달라서, 이거 잘못 쓰면 해맬수 있다.
ondemand::parser parser 와
dom::parser parser
는 겉으로 비슷해보이나, 다름.
이걸로 element를 받을때 차이가 많이 나서, 영문을 모르고 컴파일 에러를 당할 수가 있으므로 잘 확인하고, 사용할 필요가 있음.

profile
I am a computer programmer fonding of making music(lyrics)

0개의 댓글