fancygo / serbench

几个主流序列化工具的测试

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

serbench

Golang 几个主流序列化工具的测试, json, xml, protobuf, msgpack

测试环境 go 1.10

  • msgpack

    go get github.com/tinylib/msgp
    go generate
  • protobuf

    go get github.com/golang/protobuf
    go generate
  • gogoprotobuf

    go get github.com/gogo/protobuf/gogoproto
    go get -u github.com/gogo/protobuf/protoc-gen-gogofaster
    go generate

测试命令

```
go test -bench=. -benchmem
```

性能测试结果

    goos: linux
    goarch: amd64
    pkg: github.com/fancygo/serbench
    BenchmarkMarshalJson-2           1000000          1090 ns/op
    BenchmarkUnmarshalJson-2          500000          3059 ns/op
    BenchmarkMarshalXml-2             300000          4691 ns/op
    BenchmarkUnmarshalXml-2           500000          2735 ns/op
    BenchmarkMarshalMsgp-2          10000000           141 ns/op
    BenchmarkUnmarshalMsgp-2         5000000           288 ns/op
    BenchmarkMarshalProto-2          3000000           514 ns/op
    BenchmarkUnmarshalProto-2        2000000           893 ns/op
    BenchmarkMarshalGogo-2          10000000           132 ns/op
    BenchmarkUnmarshalGogo-2         3000000           499 ns/op
    PASS
    ok      github.com/FancyGo/serbench 17.043s

About

几个主流序列化工具的测试


Languages

Language:Go 100.0%