這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。類比測試1,000, 000條資料 每條10個位元組 也就是10M不到的 資料(高度結構化的資料)
過程
1.對象序列化為 byte
2.byte反序為對象
3.gzip壓縮byte
測試語言go
測試方案: raw byte,json ,bson, msgpack (protostuff需要先做對象設定檔,比較麻煩,通常認為和msgpack效能相當 )
結果:msgpack 勝出
|
大小
|
gzip壓縮後大小
|
對象到byte耗時
|
byte到對象耗時
|
raw |
10000000
|
6573252(65%) |
未測試
|
未測試 |
json
|
47515988 |
7919511 (17%) |
3248ms |
5280ms |
bson
|
49888910 |
9506965 (19%)
|
3863ms |
6235ms |
msgpack
|
29934223 |
7448484 |
2046ms |
3113ms |
raw data: 1000000
raw data gzip compress: 6573252 //gzip壓縮後大小
start: 1000000
Marshal cost: 3248 //json 序列化耗時
json string: 47515988
json byte: 47515988 //位元組大小
Unmarshal cost: 5280 //json 還原序列化耗時
test data: {1 100 0.9405091}
json gzip compress: 7919511 //gzip壓縮後大小
start
Marshal cost: 3863
bson byte: 49888910
Unmarshal cost: 6235
test data: {1 100 0.9405091}
bson gzip compress: 9506965
start: 1000000
Marshal cost: 2046
msgpack: 29934223
Unmarshal cost: 3113
test data: {1 100 0.9405091}
msgpack gzip compress: 7448484