1
This commit is contained in:
31
pkg/jsonhelper/jsonhelper_test.go
Normal file
31
pkg/jsonhelper/jsonhelper_test.go
Normal file
@ -0,0 +1,31 @@
|
||||
package jsonhelper
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"testing"
|
||||
)
|
||||
|
||||
var jsonStr = `{"W":1561651}`
|
||||
|
||||
var obj struct {
|
||||
W int
|
||||
}
|
||||
|
||||
// 对比下 IJson 和 系统自带的 json 的效率
|
||||
// go test -bench=_QE_ -benchmem -run=^$
|
||||
// -benchtime 默认为1秒 -benchmem 获得内存分配的统计数据
|
||||
func Benchmark_QE_1(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
json.Unmarshal([]byte(jsonStr), &obj)
|
||||
}
|
||||
}
|
||||
|
||||
func Benchmark_QE_2(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
Unmarshal([]byte(jsonStr), &obj)
|
||||
}
|
||||
}
|
||||
|
||||
// Benchmark_QE_1-6 2252055 531.2 ns/op 240 B/op 6 allocs/op
|
||||
// Benchmark_QE_2-6 7650109 158.7 ns/op 16 B/op 1 allocs/op
|
||||
// 确实快了很多 不知道复杂的结构会不会不一样
|
||||
Reference in New Issue
Block a user