mirror of
https://github.com/golang/go
synced 2024-11-23 12:10:11 -07:00
bc1d0d8eb1
The v.SetZero method is a faster equivalent of v.Set(Zero(v.Type())). Performance: Direct CachedZero NewZero SetZero/Bool 2.20ns ± 0% 8.97ns ± 5% 11.4ns ± 1% SetZero/Int 3.08ns ± 1% 9.06ns ± 1% 11.5ns ± 0% SetZero/Uint 2.88ns ± 1% 9.04ns ± 1% 11.7ns ± 5% SetZero/Float 2.65ns ± 2% 9.05ns ± 1% 11.5ns ± 1% SetZero/Complex 2.68ns ± 3% 9.31ns ± 1% 11.7ns ± 1% SetZero/Array 6.69ns ± 4% 9.32ns ± 1% 11.8ns ± 1% SetZero/Chan 3.31ns ± 1% 6.19ns ± 1% 8.20ns ± 1% SetZero/Func 3.32ns ± 1% 6.20ns ± 0% 8.24ns ± 1% SetZero/Interface 2.66ns ± 1% 9.31ns ± 1% 11.8ns ± 1% SetZero/Map 3.31ns ± 1% 6.21ns ± 2% 8.19ns ± 1% SetZero/Pointer 3.30ns ± 1% 6.22ns ± 1% 8.17ns ± 1% SetZero/Slice 2.90ns ± 4% 9.13ns ± 1% 11.6ns ± 1% SetZero/String 3.11ns ± 1% 9.30ns ± 1% 11.8ns ± 2% SetZero/Struct 6.37ns ± 1% 9.18ns ± 4% 11.5ns ± 1% where: * Direct is measuring Value.SetZero * CachedZero is measuring Value.Set with a cached Zero value * NewZero is measuring Value.Set with a new Zero value Fixes #52376 Change-Id: I793ca723aa97627824c5f5b356b2da30c8e46d71 Reviewed-on: https://go-review.googlesource.com/c/go/+/411476 Auto-Submit: Joseph Tsai <joetsai@digital-static.net> Reviewed-by: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Joseph Tsai <joetsai@digital-static.net> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Dan Kortschak <dan@kortschak.io>
2 lines
45 B
Plaintext
2 lines
45 B
Plaintext
pkg reflect, method (Value) SetZero() #52376
|