1. 程式人生 > >一種高效的序列化方式——MessagePack

一種高效的序列化方式——MessagePack

最近在弄一些資料分析方面的內容,發現很多時候資料瓶頸在模組之間的資料序列化和反序列化上了,原來專案中用的是Json,找了一圈發現Json.net在Json序列化庫中已經是效能的佼佼者了,便準備從序列化方式入手了,最後選擇了MessagePack的這個序列化的庫。

MessagePack是一種的序列化格式。這種格式小巧快速,多個小整數會壓縮成一個位元組,通常短字串壓縮後只比原來長度增加1個位元組。

MessagePack對程式語言支援也比較廣泛,在C#中比較有名的兩個庫是:

其中社群版本有更好的效能,園子裡有篇文章對它做了比較詳細的介紹。

如下是各種序列化方式的效能比較圖,MessagePack在各項效能指標上都是佔據著很大優勢的,比起Json.net來還有數倍的效能提升的。

關於Messagepack的原理,本文這裡並不做介紹,感興趣的朋友可以看下如下參考文章: