[#376] acl: Replace slices of pointers with raw structs

```
name                                     old time/op    new time/op    delta
Table_ToGRPCMessage/to_grpc_message-8      2.82µs ± 5%    2.86µs ± 5%     ~     (p=0.395 n=10+8)
Table_ToGRPCMessage/from_grpc_message-8    2.47µs ± 5%    1.08µs ± 6%  -56.16%  (p=0.000 n=9+9)

name                                     old alloc/op   new alloc/op   delta
Table_ToGRPCMessage/to_grpc_message-8      3.31kB ± 0%    3.31kB ± 0%     ~     (all equal)
Table_ToGRPCMessage/from_grpc_message-8    1.82kB ± 0%    1.38kB ± 0%  -24.56%  (p=0.000 n=10+10)

name                                     old allocs/op  new allocs/op  delta
Table_ToGRPCMessage/to_grpc_message-8        46.0 ± 0%      46.0 ± 0%     ~     (all equal)
Table_ToGRPCMessage/from_grpc_message-8      45.0 ± 0%       9.0 ± 0%  -80.00%  (p=0.000 n=10+10)
```

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
This commit is contained in:
Evgenii Stratonikov 2022-03-01 16:32:54 +03:00 committed by Alex Vanin
parent 4a70c42104
commit ec484f2fd2
5 changed files with 44 additions and 63 deletions

View file

@ -12,18 +12,17 @@ func BenchmarkTable_ToGRPCMessage(b *testing.B) {
const size = 4
tb := new(acl.Table)
rs := make([]*acl.Record, size)
rs := make([]acl.Record, size)
for i := range rs {
fs := make([]*acl.HeaderFilter, size)
fs := make([]acl.HeaderFilter, size)
for j := range fs {
fs[j] = acltest.GenerateFilter(false)
fs[j] = *acltest.GenerateFilter(false)
}
ts := make([]*acl.Target, size)
ts := make([]acl.Target, size)
for j := range ts {
ts[j] = acltest.GenerateTarget(false)
ts[j] = *acltest.GenerateTarget(false)
}
rs[i] = new(acl.Record)
rs[i].SetFilters(fs)
rs[i].SetTargets(ts)
}