使用版本:
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(intn)
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,詳細的內容請翻閱附錄一。然而,正所謂 吾愛吾師,吾更愛真理 抱著這樣一種求真求實的心理,我對文章中的內容進行了探索,力求準確 符合事實。首先,我們還是應該...