Simdjson
Simdjson
JSON은 쓰기 편하지만, 아주 큰 데이터를 반복해서 파싱하다 보면 속도가 아쉬워질 때가 있어요. Simdjson은 SIMD(Single Instruction, Multiple Data) 바인딩을 통해 JSON 디코딩을 빠르게 처리해 주는 확장이에요.
출처: Simdjson
본문
Simdjson 확장은 PHP용 simdjson 바인딩으로, SIMD(단일 명령·다중 데이터) 기법을 활용해 JSON 디코딩 속도를 높여요.
설치·설정(Installing/Configuring)
- 설치(Installation)
- 사전 정의 상수(Predefined Constants)
Simdjson 함수(Simdjson Functions)
simdjson_decode— JSON 문자열을 해석해요(Decodes a JSON string).simdjson_is_valid— JSON 문자열이 유효한지 검사해요(Check if a JSON string is valid).simdjson_key_count— JSON 포인터가 가리키는 위치의 값을 반환해요(Returns the value at a JSON pointer).simdjson_key_exists— JSON에 JSON 포인터가 가리키는 값이 존재하는지 검사해요(Check if the JSON contains the value referred to by a JSON pointer).simdjson_key_value— 요청한 JSON 포인터 위치에 있는 JSON 문자열의 값을 해석해요(Decodes the value of a JSON string located at the requested JSON pointer).SimdJsonException— SimdJsonException 클래스SimdJsonValueError— SimdJsonValueError 클래스
더 알아보기
- JSON 포인터(JSON Pointer) 문법을 알면
simdjson_key_value같은 함수가 거대한 JSON에서 원하는 키만 빠르게 꺼내는 방식이 이해돼요. - 내장 JSON 파서와의 성능 차이는 큰 JSON 데이터셋에서 측정해 보는 것이 좋아요.