최근 fastjson 이란 알리바바에서 공개한 JSON Parser 을 보게되어 현재 회사에서 사용중인 Library 들을 비교해 보았다.


jackson-databind-2.1.3.jar

json-lib-2.2.1-jdk15.jar

fastjson-1.2.5.jar


[테스트 상황]

Vo 안에 2개의 Vo가 있는 객체 활용하여, to JSON String, to JAVA Object 로 변환 및 역변환을 10,000 실행하였다.




결과는 위에 보여지는 바와 같습니다.
  - to JSON String = fastjson > jackson > json-lib

  - to Object = jackson > fastjson > json-lib

변환 및 역변환 수치 상으로는 알리바바의 fastjson와 jackson 두가지가 근소한 차이의 성능을 보였습니다.
하지만 알리바바의 fastjson의 경우 유효하지 않는 데이터의 경우 표현자체를 하지 않으므로 인해서 JSON String 길이가 작습니다.
따라서 네트워크 전송 비용까지 감안 한다면 알리바바의 fastjson 의 가장 우수 한것으로 판단됩니다.

※ JSON Str Size가 다른 것은 각 Libaray 마다 null 데이터 처리 규칙이 조금 달라서 그렇고, 유효한 데이터에서는 동일합니다.
    - jackjon = null -> 문자열 null 로 표시
    - json-lib = null -> 문자열 공백으로 표시
    - fastjson = null -> key/value 모두 표시하지 않음


+ Recent posts