2012년 2월 13일 월요일

Json Java pasers / generators Benchmark




Mobile환경의 확대와 Open API 사용의 증가와 더불어 Json을 사용하는 프로젝트가 증가하고 있습니다. Json은 XML에 비해 장점을 많이 가지고 있지만 이 글에서는 장,단점을 논하지는  않겠습니다.

Json을 사용하는 프로젝트가 늘어난다는 것은 그만큼 현실성이 있기 때문일 것 입니다.
최근 Article 중에서 Json 라이브러리들의 성능을 비교한 자료가 있어 올려 봅니다.

원문 링크
http://blog.novoj.net/2012/02/05/json-java-parsers-generators-microbenchmark/

요약
테스트 대상 Libraries
  • FlexJson (2.1)
  • GSon (2.1)
  • Jackson (1.9.4)
  • JsonLib (2.4)
  • JsonMarshaller (0.21)
  • JsonSmart (2.0-beta2)
  • Protostuff JSON (1.0.4)
  • XStream (1.4.2)

성능 측정 방식
Serialization, Deserialization의 3000번 Loop을 250번 실행한 편균값을 측정하였음.

측정 결과
FlexJson
Serialization: 5.593ms / 1 PhotoAlbum, JSON file size 165KB
Deserialization: 14.663667ms / 1 PhotoAlbum

GSon
Serialization: 4.9683332ms / 1 PhotoAlbum, JSON file size 169KB
Deserialization: 9.558666ms / 1 PhotoAlbum

Jackson
Serialization: 1.286ms / 1 PhotoAlbum, JSON file size 165KB
Deserialization: 1.5566666ms / 1 PhotoAlbum

JSON-Lib
Serialization: 17.441668ms / 1 PhotoAlbum, JSON file size 168KB
Deserialization: 78.71367ms / 1 PhotoAlbum

JsonMarshaller
Serialization: 3.6623333ms / 1 PhotoAlbum, JSON file size 165KB
Deserialization: 6.372ms / 1 PhotoAlbum

Json Smart
Serialization: 3.8913333ms / 1 PhotoAlbum, JSON file size 172KB
Deserialization: -

Protostuff JSON
Serialization: 1.8266667ms / 1 PhotoAlbum, JSON file size 165KB
Deserialization: 1.2923334ms / 1 PhotoAlbum

XStream
Serialization: 76.84967ms / 1 PhotoAlbum, JSON file size 171KB
Deserialization: 26.361ms / 1 PhotoAlbum


댓글 없음:

댓글 쓰기

블록체인 개요 및 오픈소스 동향

블록체인(block chain) 블록체인은 공공 거래장부이며 가상 화폐로 거래할때 발생할때 발생할 수 있는 해킹을 막는 기술. 분산 데이터베이스의 한 형태로, 지속적으로 성장하는 데이터 기록 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가...