Json序列化性能測試
最近對Java 常見的Json庫,做了一下性能測試和對比,對比的json 庫有:
- Jackson: 目前使用最廣泛、社區最活躍的json 庫,以性能優異著稱,也是SpringMVC 等各種框架默認使用的json 庫
- FastJson: Ali 出品的json 庫,從名字上也可以看出來,主打的是“快”
- Gson: Google 家的json庫,比較輕量,適合Android 使用
- Json-lib: 這個很早出現的json庫,實現上更符合json語義。目前已經5年沒有更新了,性能也比較差,加入這個性能測試對比主要是用來羞辱還在使用這個庫的Javaer們
測試使用中等的數據量,數據是一個Company,其中包括10個Employee,序列化后的string 約1200個字符。
測試環境:
- Java 1.8.0_31 64-Bit
- Jackson 2.5.2
- FastJson 1.2.5
- Gson 2.3.1
- Json-lib 2.1
測試結果如下:
Bean Serialize | Bean DeSerialize | Collection Serialize | Collection DeSerialize | |
Jackson | 6031 | 9347 | 6670 | 11057 |
Fast Json | 6930 | 5396 | 8547 | 9519 |
Gson | 16854 | 14046 | 14049 | 14922 |
Json-Lib | 109310 | 263049 | 97297 | 229826 |
可見:
- Json-lib 毫無疑問的墊底,與其他的性能差距在一個數量級以上
- Jackson 和FastJson 相差不多,Jackson的序列化性能好一些,FastJson的反序列化性能好一些
- Gson 性能相比Jackson 有不小的差距,但還在一個數量級的范圍內
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!