安裝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è)不裝也沒關(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