frostfs-node/pkg/local_object_storage/metabase
Evgenii Stratonikov f5c39cc76a
All checks were successful
DCO action / DCO (pull_request) Successful in 41s
Vulncheck / Vulncheck (pull_request) Successful in 1m0s
Pre-commit hooks / Pre-commit (pull_request) Successful in 1m32s
Build / Build Components (pull_request) Successful in 1m55s
Tests and linters / gopls check (pull_request) Successful in 3m48s
Tests and linters / Run gofumpt (pull_request) Successful in 4m41s
Tests and linters / Lint (pull_request) Successful in 5m5s
Tests and linters / Staticcheck (pull_request) Successful in 5m19s
Tests and linters / Tests with -race (pull_request) Successful in 5m23s
Tests and linters / Tests (pull_request) Successful in 8m31s
[#1692] metabase: Use bucket cache in ListWithCursor()
No changes in speed, but unified approach:
```
goos: linux
goarch: amd64
pkg: git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/metabase
cpu: 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
                           │    master    │                 new                 │
                           │    sec/op    │    sec/op     vs base               │
ListWithCursor/1_item-8      6.067µ ±  8%   5.731µ ± 10%       ~ (p=0.052 n=10)
ListWithCursor/10_items-8    25.40µ ± 11%   26.12µ ± 13%       ~ (p=0.971 n=10)
ListWithCursor/100_items-8   210.7µ ±  9%   203.2µ ±  6%       ~ (p=0.280 n=10)
geomean                      31.90µ         31.22µ        -2.16%

                           │    master    │                  new                  │
                           │     B/op     │     B/op      vs base                 │
ListWithCursor/1_item-8      3.287Ki ± 0%   3.287Ki ± 0%       ~ (p=1.000 n=10) ¹
ListWithCursor/10_items-8    15.63Ki ± 0%   15.62Ki ± 0%       ~ (p=0.328 n=10)
ListWithCursor/100_items-8   138.1Ki ± 0%   138.1Ki ± 0%       ~ (p=0.340 n=10)
geomean                      19.21Ki        19.21Ki       -0.00%
¹ all samples are equal

                           │   master    │                 new                  │
                           │  allocs/op  │  allocs/op   vs base                 │
ListWithCursor/1_item-8       109.0 ± 0%    109.0 ± 0%       ~ (p=1.000 n=10) ¹
ListWithCursor/10_items-8     380.0 ± 0%    380.0 ± 0%       ~ (p=1.000 n=10) ¹
ListWithCursor/100_items-8   3.082k ± 0%   3.082k ± 0%       ~ (p=1.000 n=10) ¹
geomean                       503.5         503.5       +0.00%
¹ all samples are equal
```

Change-Id: Ic11673427615053656b2a60068a6d4dbd27af2cb
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2025-03-20 17:50:27 +03:00
..
bucket_cache.go [#1692] metabase: Do not allocate map in cache unless needed 2025-03-20 17:50:27 +03:00
children.go [#772] node: Apply gofumpt 2023-10-31 17:03:03 +03:00
containers.go [#1598] golangci: Enable unparam linter 2025-01-14 09:06:47 +03:00
containers_test.go [#1437] node: Fix contextcheck linter 2024-11-13 10:36:10 +03:00
control.go [#1568] storage: Remove "could not/can't/failed to" from error messages 2024-12-18 15:52:26 +00:00
control_test.go [#1437] node: Fix contextcheck linter 2024-11-13 10:36:10 +03:00
counter.go [#1598] golangci: Enable unparam linter 2025-01-14 09:06:47 +03:00
counter_test.go [#1437] node: Fix contextcheck linter 2024-11-13 10:36:10 +03:00
db.go [#1437] node: Use ctx for logging 2024-11-13 10:36:07 +03:00
db_test.go [#1437] node: Fix contextcheck linter 2024-11-13 10:36:10 +03:00
delete.go [#1598] golangci: Enable unparam linter 2025-01-14 09:06:47 +03:00
delete_ec_test.go [#1493] metabase: Merge Inhume() and DropGraves() for tombstones 2024-11-14 06:47:04 +00:00
delete_meta_test.go [#1437] node: Fix contextcheck linter 2024-11-13 10:36:10 +03:00
delete_test.go [#1437] node: Fix contextcheck linter 2024-11-13 10:36:10 +03:00
errors.go [#481] Update frostfs-sdk-go and error pointer receivers 2023-08-09 10:26:53 +00:00
exists.go [#1685] metabase: Cache expired bucket 2025-03-20 12:52:01 +00:00
exists_test.go [#1437] node: Fix contextcheck linter 2024-11-13 10:36:10 +03:00
expired.go [#1685] metabase: Cache expired bucket 2025-03-20 12:52:01 +00:00
expired_test.go [#1437] node: Fix contextcheck linter 2024-11-13 10:36:10 +03:00
generic_test.go [#xx] Avoid manual management of files in tests 2023-08-14 14:01:39 +03:00
get.go [#1685] metabase: Cache primary bucket 2025-03-20 12:52:01 +00:00
get_test.go [#1510] metabase/test: Fix BenchmarkGet 2024-12-13 13:18:43 +03:00
graveyard.go [#1568] storage: Remove "could not/can't/failed to" from error messages 2024-12-18 15:52:26 +00:00
graveyard_test.go [#1493] metabase: Merge Inhume() and DropGraves() for tombstones 2024-11-14 06:47:04 +00:00
index_test.go [#587] Do not use math/rand.Read 2023-08-09 16:02:44 +03:00
info.go [#2057] meta: Fix concurrent mode changes 2022-11-19 11:01:04 +03:00
inhume.go [#1598] golangci: Enable unparam linter 2025-01-14 09:06:47 +03:00
inhume_ec_test.go [#1437] node: Fix contextcheck linter 2024-11-13 10:36:10 +03:00
inhume_test.go [#1437] node: Fix contextcheck linter 2024-11-13 10:36:10 +03:00
iterators.go Revert "[#1492] metabase: Ensure Unmarshal() is called on a cloned slice" 2025-01-09 14:34:20 +03:00
iterators_test.go [#1523] metabase: Remove (*DB).IterateCoveredByTombstones 2024-11-29 10:49:24 +00:00
list.go [#1692] metabase: Use bucket cache in ListWithCursor() 2025-03-20 17:50:27 +03:00
list_test.go [#1692] metabase/test: Fix end of iteration error check 2025-03-20 17:50:27 +03:00
lock.go [#1685] metabase: Cache frequently accessed singleton buckets 2025-03-20 10:17:42 +00:00
lock_test.go [#1437] node: Fix contextcheck linter 2024-11-13 10:36:10 +03:00
metrics.go [#1121] node: Change mode of shard components 2024-06-05 05:55:24 +00:00
mode.go [#1568] storage: Remove "could not/can't/failed to" from error messages 2024-12-18 15:52:26 +00:00
mode_test.go [#1437] node: Fix contextcheck linter 2024-11-13 10:36:10 +03:00
put.go Revert "[#1492] metabase: Ensure Unmarshal() is called on a cloned slice" 2025-01-09 14:34:20 +03:00
put_test.go [#1437] node: Fix contextcheck linter 2024-11-13 10:36:10 +03:00
reset_test.go [#1671] Use fmt.Appendf where warranted 2025-03-13 08:12:20 +00:00
select.go [#1685] metabase: Cache primary bucket 2025-03-20 12:52:01 +00:00
select_test.go [#1683] metabase/test: Report allocs in benchmarkSelect() 2025-03-18 11:48:51 +00:00
shard_id.go [#1568] storage: Remove "could not/can't/failed to" from error messages 2024-12-18 15:52:26 +00:00
storage_id.go [#1598] golangci: Enable unparam linter 2025-01-14 09:06:47 +03:00
storage_id_test.go [#1437] node: Fix contextcheck linter 2024-11-13 10:36:10 +03:00
upgrade.go [#1613] morph: Add tracing for morph queries to neo-go 2025-02-05 16:38:20 +03:00
upgrade_test.go [#1608] qos: Add qos service to adjust incoming IO tags 2025-02-07 15:43:03 +03:00
util.go [#1568] storage: Remove "could not/can't/failed to" from error messages 2024-12-18 15:52:26 +00:00
version.go [#1568] storage: Remove "could not/can't/failed to" from error messages 2024-12-18 15:52:26 +00:00
VERSION.md [#1323] metabase: Bump version 2024-08-22 08:21:40 +00:00
version_test.go [#1437] node: Fix contextcheck linter 2024-11-13 10:36:10 +03:00