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 데이터셋에서 측정해 보는 것이 좋아요.