Fix structtags
This commit is contained in:
parent
e7909f0857
commit
688121f0bd
2 changed files with 16 additions and 6 deletions
|
@ -2,15 +2,14 @@
|
||||||
|
|
||||||
Ускорьте функцию `Unpack()`.
|
Ускорьте функцию `Unpack()`.
|
||||||
|
|
||||||
Ваша функция должна работать быстрее, чем бейзлайн + 20%.
|
|
||||||
|
|
||||||
```
|
```
|
||||||
goos: linux
|
goos: linux
|
||||||
goarch: amd64
|
goarch: amd64
|
||||||
pkg: gitlab.com/slon/shad-go/structtags
|
pkg: gitlab.com/slon/shad-go/structtags
|
||||||
cpu: Intel(R) Core(TM) i7-6600U CPU @ 2.60GHz
|
cpu: Intel(R) Core(TM) i7-6600U CPU @ 2.60GHz
|
||||||
BenchmarkUnpacker/user-4 4269022 275.0 ns/op
|
BenchmarkUnpacker/user-4 4158832 268.2 ns/op 0 B/op 0 allocs/op
|
||||||
BenchmarkUnpacker/user+good+order-4 732264 1481 ns/op
|
BenchmarkUnpacker/good-4 1000000 1198 ns/op 220 B/op 6 allocs/op
|
||||||
|
BenchmarkUnpacker/order-4 1260784 1162 ns/op 282 B/op 6 allocs/op
|
||||||
PASS
|
PASS
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -138,16 +138,27 @@ func BenchmarkUnpacker(b *testing.B) {
|
||||||
order := &Order{}
|
order := &Order{}
|
||||||
|
|
||||||
b.Run("user", func(b *testing.B) {
|
b.Run("user", func(b *testing.B) {
|
||||||
|
b.ReportAllocs()
|
||||||
|
|
||||||
for i := 0; i < b.N; i++ {
|
for i := 0; i < b.N; i++ {
|
||||||
_ = Unpack(userRequest, user)
|
_ = Unpack(userRequest, user)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
b.Run("user+good+order", func(b *testing.B) {
|
b.Run("good", func(b *testing.B) {
|
||||||
|
b.ReportAllocs()
|
||||||
|
|
||||||
for i := 0; i < b.N; i++ {
|
for i := 0; i < b.N; i++ {
|
||||||
_ = Unpack(userRequest, user)
|
|
||||||
_ = Unpack(goodRequest, good)
|
_ = Unpack(goodRequest, good)
|
||||||
_ = Unpack(orderRequest, order)
|
_ = Unpack(orderRequest, order)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
b.Run("order", func(b *testing.B) {
|
||||||
|
b.ReportAllocs()
|
||||||
|
|
||||||
|
for i := 0; i < b.N; i++ {
|
||||||
|
_ = Unpack(orderRequest, order)
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue