forked from TrueCloudLab/frostfs-api-go
[#376] netmap: Make attributes a non-pointer slice
The speed of copying (which is done regulary for e.g. subnet changes) is less, however it isn't on the hot path and the absolute time difference is insignificant. ``` name old time/op new time/op delta NodeAttributes-8 96.2ns ± 1% 158.3ns ± 1% +64.61% (p=0.000 n=10+10) name old alloc/op new alloc/op delta NodeAttributes-8 32.0B ± 0% 32.0B ± 0% ~ (all equal) name old allocs/op new allocs/op delta NodeAttributes-8 2.00 ± 0% 2.00 ± 0% ~ (all equal) ``` Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
This commit is contained in:
parent
2f0eee96fc
commit
6f4908edc2
6 changed files with 82 additions and 40 deletions
|
@ -73,7 +73,7 @@ type Attribute struct {
|
|||
type NodeInfo struct {
|
||||
publicKey []byte
|
||||
addresses []string
|
||||
attributes []*Attribute
|
||||
attributes []Attribute
|
||||
state NodeState
|
||||
}
|
||||
|
||||
|
@ -444,7 +444,7 @@ func (ni *NodeInfo) IterateAddresses(f func(string) bool) {
|
|||
}
|
||||
}
|
||||
|
||||
func (ni *NodeInfo) GetAttributes() []*Attribute {
|
||||
func (ni *NodeInfo) GetAttributes() []Attribute {
|
||||
if ni != nil {
|
||||
return ni.attributes
|
||||
}
|
||||
|
@ -452,7 +452,7 @@ func (ni *NodeInfo) GetAttributes() []*Attribute {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (ni *NodeInfo) SetAttributes(v []*Attribute) {
|
||||
func (ni *NodeInfo) SetAttributes(v []Attribute) {
|
||||
if ni != nil {
|
||||
ni.attributes = v
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue