frostfs-node/pkg
Evgenii Stratonikov 81f925d5a0 [#1516] metabase: Optimize ListWithCursor for long listings
Cache buckets outside of the main loop and allocate memory for the
resulting offset only once.

```
name                        old time/op    new time/op    delta
ListWithCursor/1_item-8       6.45µs ±14%    5.79µs ±11%  -10.24%  (p=0.002 n=10+10)
ListWithCursor/10_items-8     20.9µs ±17%    17.3µs ± 9%  -17.27%  (p=0.000 n=10+10)
ListWithCursor/100_items-8     153µs ±12%     131µs ± 9%  -14.63%  (p=0.000 n=10+10)

name                        old alloc/op   new alloc/op   delta
ListWithCursor/1_item-8       2.31kB ± 0%    1.91kB ± 0%  -17.46%  (p=0.000 n=10+10)
ListWithCursor/10_items-8     6.94kB ± 0%    5.50kB ± 0%  -20.78%  (p=0.000 n=8+8)
ListWithCursor/100_items-8    53.3kB ± 0%    41.5kB ± 0%  -22.18%  (p=0.000 n=10+10)

name                        old allocs/op  new allocs/op  delta
ListWithCursor/1_item-8         40.0 ± 0%      34.0 ± 0%  -15.00%  (p=0.000 n=10+10)
ListWithCursor/10_items-8        121 ± 0%       100 ± 0%  -17.36%  (p=0.000 n=10+10)
ListWithCursor/100_items-8       930 ± 0%       758 ± 0%  -18.49%  (p=0.000 n=10+10)
```

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-06-15 20:49:41 +03:00
..
core [#1454] Upgrade NeoFS SDK Go module with new IDs 2022-06-01 17:41:45 +03:00
innerring [#1518] Upgrade NeoFS SDK Go with changed subnet package 2022-06-15 17:02:49 +03:00
local_object_storage [#1516] metabase: Optimize ListWithCursor for long listings 2022-06-15 20:49:41 +03:00
metrics [#1054] neofs-node: add epoch metric 2021-12-28 15:34:20 +03:00
morph [#1518] Upgrade NeoFS SDK Go with changed subnet package 2022-06-15 17:02:49 +03:00
network [#1351] cli: Fix connection scheme loss during endpoint parsing 2022-05-05 10:43:27 +03:00
services [#1507] node: Do not handle object concurrently by the policer 2022-06-15 20:43:32 +03:00
util [#1467] pkg/util: Allow to load default account from a wallet 2022-06-02 16:13:20 +03:00