Go语言中的二进制编码与日期时间处理
1. 二进制编码格式性能对比
在Go语言中,JSON和gob是常见的编码格式。为了测试它们的编码和解码性能,进行了如下基准测试:
goos: darwin
goarch: arm64
pkg: github.com/sausheong/gocookbook/ch10_binary/benchmarks
BenchmarkEncodeJson-10 4835588 241.2 ns/op 24 B/op 1 allocs/op
BenchmarkEncodeGob-10 7738795 155.4 ns/op 24 B/op 1 allocs/op
BenchmarkDecodeJson-10 1000000 1023 ns/op 101 B/op 5 allocs/op
BenchmarkDecodeGob-10 13910449 81.27 ns/op 96 B/op 2 allocs/op
PASS
ok
github.com/sausheong/gocookbook/ch10_binary/benchmarks
5.138s
从上述结果可以看出,gob编码比JSON编码更快,且两者使用的内存量相同。在解码方面,gob也比JSON快得多,并且使用的内存更少。具体对比如下表格:
| 操作 | JSON | gob |
| ---- | ---- | ---- |
| 编码速度(ns/op) | 241.
超级会员免费看
订阅专栏 解锁全文
78

被折叠的 条评论
为什么被折叠?



