protobuf測(cè)試gofast

安裝protoc?


go get github.com/golang/protobuf/proto

goprotobuf


安裝插件

go get github.com/golang/protobuf/protoc-gen-go

生成go文件

protoc --go_out=. *.proto


gogoprotobuf


安裝插件

gogoprotobuf有兩個(gè)插件可以使用

protoc-gen-gogo:和protoc-gen-go生成的文件差不多,性能也幾乎一樣(稍微快一點(diǎn)點(diǎn))

protoc-gen-gofast:生成的文件更復(fù)雜,性能也更高(快5-7倍)?

//gogo
go get github.com/gogo/protobuf/protoc-gen-gogo
//gofast
go get github.com/gogo/protobuf/protoc-gen-gofast

安裝gogoprotobuf庫(kù)文件

go get github.com/gogo/protobuf/proto
go get github.com/gogo/protobuf/gogoproto //這個(gè)不裝也沒(méi)關(guān)系


生成go文件

//gogo
protoc --gogo_out=. *.proto
//gofast
protoc --gofast_out=. *.proto?


性能測(cè)試


這里只是簡(jiǎn)單的用go test測(cè)試了一下

//goprotobuf
"編碼":447ns/op ?"解碼":422ns/op
//gogoprotobuf-go
"編碼":433ns/op"解碼":427ns/op
//gogoprotobuf-fast
"編碼":112ns/op"解碼":112ns/op

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 相關(guān)知識(shí)可以參考Cocos Creator Protobuf的js版本使用protoc2 與 protoc3 區(qū)別...
    合肥黑閱讀 11,087評(píng)論 0 1
  • json與protobuf做數(shù)據(jù)傳輸對(duì)比:json用起來(lái)的確很方便。但相對(duì)于protobuf數(shù)據(jù)量更大些。做一個(gè)移...
    Gospel元嘉閱讀 5,040評(píng)論 0 4
  • 簡(jiǎn)介 Protobuf 源碼中默認(rèn)實(shí)現(xiàn)了對(duì) C++, Java, C#, Python 等語(yǔ)言的生成器插件,但是沒(méi)...
    juniway閱讀 10,583評(píng)論 0 0
  • 首先,什么是Protocol Buffers?文檔中說(shuō): “Protocol Buffers是一種以有效并可擴(kuò)展的...
    大西北的風(fēng)閱讀 1,411評(píng)論 2 3
  • Protobuf 介紹 序列化庫(kù)在網(wǎng)絡(luò)傳輸,RPC,數(shù)據(jù)庫(kù)訪問(wèn)等環(huán)境中經(jīng)常用到,它的性能的好壞直接影響著整個(gè)產(chǎn)品的...
    Aedan閱讀 4,014評(píng)論 0 0

友情鏈接更多精彩內(nèi)容