티스토리 뷰
Intro
온라인 컴파일 API인 Jdoodle을 사용하기 위해, json 라이브러리를 찾던 중 보게 된 속도 비교표를 정리해 보았습니다.
1. 라이브러리 후보군
- JSON.simple (Yidong Fang)
- GSON (Google)
- Jackson (FasterXML)
- JSONP (Oracle)
2. 후보군을 이용한 비교적 큰 용량의 json 문서의 파싱 속도 벤치마킹 결과
java 어플리케이션 성능평가/ 모니터링 도구를 개발하는 Takipi 에서 공개
[테스트 파일]
- 큰 파일: 190MB (https://github.com/zeMirco/sf-city-lots-json)
- 작은 파일: 1KB (http://www.json-generator.com/)
※ AWS c3.large 인스턴스에서 큰 파일은 라이브러리당 10회 씩, 작은 파일은 10,000회 씩 수행한 결과를 정리
용량이 큰 JSON 파일 파싱 결과 |
(가장 빠름) JACKSON > JSON.simple > JSONP > GSON (가장 느림) |
![]() |
용량이 작은 파일 파싱 결과 |
(가장 빠름) GSON > JSON.simple > JSONP > JACKSON (가장 느림) |
![]() |
3. 결론
- 개발 환경이 빅데이터 처리와 같이 전반적으로 큰 용량의 JSON을 처리 해야한다면 JACKSON 을 사용
- 마이크로 서비스와 분산 아키텍처 설정 등과 같이 작은 용량의 많은 JSON 파일 처리 시 GSON 사용
- 대용량 소용량 모두를 다양하게 처리하는 환경에서는 두 결과 표에서 상위를 차지하고 있는 JSON.simple을 사용
따라서 요청 Body에 포함된 코드 문자열을 JSON으로 변환 시. 두 결과에서 상위인 JSON.simple을 사용하기로 결정하였습니다.
4. 출처
java json 라이브러리 별 parser 속도 비교.
우선, 테스트 진행한 json 라이브러리 후보군은 JSON.simple ( Yidong Fang ) GSON ( Google ) Jackson ( FasterXML ) JSONP ( Oracle ) 과 같음. 상기 라이브러리를 이용한 비교적 큰 사이즈의 json 문서 파싱..
codediver.tistory.com
'Java' 카테고리의 다른 글
[JAVA 기초] Collection Framework (0) | 2022.04.12 |
---|---|
[JAVA 기초] 메모리 구조 (0) | 2022.03.30 |