Gson 和 FastJson 效能測試

2022-04-30 14:09:11 字數 2312 閱讀 4301

使用版本:

compile '

com.google.code.gson:gson:2.7

'compile

'com.alibaba:fastjson:1.2.17

'

評測樣板為乙個people陣列,people物件 中包含乙個food物件引用。各個字串採用隨機數模擬;盡量模擬列表請求資料。

string mstring  = "abcdefghijklmnopqrstuvwxyz0123456789";

random mrandom = new random();

public listcreatepeoplelist(int

n)

return

list;

}public

people createpeople()

public

food createfood()

public

string getrandomstring()

return

str;

}

評測demo:

public string  testtojson(int

n)

public

object testfromjson(string str)

評測機型:360 型號1503-m02, 處理器:helio x20 十核處理器, 記憶體4g, 系統6.0, 核心版本3.18.22+

輸出資料:

size 大小      gson tojson    fastjson tojson      gson fromjson      fastjson parsejson    單位(ms)

20          25          39              6              3

30          39              6              2

27          40              6              3

200          22          15              12              11

23          16              13              12

22          15              11              12

2000          116          87              43              61

128          83              72              89             

120          85              44               73

20000          610          766              596              666

709          793              525              759

530          910                543              773   

200000          6875          15394            11551              18811

6803          15419            10050              18718

6756          15217            11338              19507            

資料分析:

1、size 為 20 的時候 資料偏大是因為有靜態變數等相關的初始化工作,接下來的 200、2000等因為已經初始化了,所以沒有相應增加時間。

2、生成json字串的速度,2000個物件以內,fastjson 有優勢, 20000個資料以上gson優勢比較大

3、解析json字串的資料, 除了20個樣板的極端例子,gson 的解析效能都有可觀的優勢。

總結:1、android開放中,按照以往經驗解析json樣板 不超過2000, 封裝json的樣板不超過200,選擇gson有一定優勢。

2、fastjson整體表現不如gson,但是在特定樣板大小中,有更好的效能。

3、github上面fastjson更新比gson更慢

4、建議使用gson

5、上述樣板存在侷限,沒有覆蓋到很多樣例,具體專案中,可以實測之後在選擇方案。

Gson 和 Fastjson的區別

背景 目前在公司負責的業務,主要是跟json資料打交道,fastjson gson都用,他們適用於不同場景。fastjson號稱是業界處理json效率最高的框架,沒有之一。但在某些場景下,效率最高的不一定 能適合你 來,先上兩道菜 第一道普通菜 public class user public us...

Gson 和 Fastjson 你不知道的事

背景 目前在公司負責的業務,主要是跟json資料打交道,fastjson gson都用,他們適用於不同場景。fastjson號稱是業界處理json效率最高的框架,沒有之一。但在某些場景下,效率最高的不一定 能適合你 來,先上兩道菜 第一道普通菜 public class user public us...

FastJson與JsonCode效能大比拼

前面有同學對比了fastjson和jsoncode的效能,其認為在從json字串中取部分數值時,jsoncode的效能要遠遠優於fastjson,詳細的內容請翻閱附錄一。然而,正所謂 吾愛吾師,吾更愛真理 抱著這樣一種求真求實的心理,我對文章中的內容進行了探索,力求準確 符合事實。首先,我們還是應該...