frostfs-node/pkg/local_object_storage/pilorama
Evgenii Stratonikov 01e18eda43
All checks were successful
DCO action / DCO (pull_request) Successful in 1m36s
Vulncheck / Vulncheck (pull_request) Successful in 2m22s
Build / Build Components (1.21) (pull_request) Successful in 2m50s
Pre-commit hooks / Pre-commit (pull_request) Successful in 3m8s
Build / Build Components (1.22) (pull_request) Successful in 3m14s
Tests and linters / Tests (1.22) (pull_request) Successful in 3m27s
Tests and linters / Tests (1.21) (pull_request) Successful in 3m28s
Tests and linters / Staticcheck (pull_request) Successful in 3m23s
Tests and linters / Tests with -race (pull_request) Successful in 3m34s
Tests and linters / Lint (pull_request) Successful in 3m47s
Tests and linters / gopls check (pull_request) Successful in 4m5s
[#1328] pilorama: Do not skip items in SortedByFilename
Benchmark results:
```
goos: linux
goarch: amd64
pkg: git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/pilorama
cpu: 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
                                   │     old     │                 new                 │
                                   │   sec/op    │   sec/op     vs base                │
ForestSortedIteration/bbolt,root-8   207.2µ ± 6%   173.6µ ± 6%  -16.23% (p=0.000 n=10)
ForestSortedIteration/bbolt,leaf-8   3.910µ ± 5%   3.928µ ± 7%        ~ (p=0.529 n=10)
geomean                              28.46µ        26.11µ        -8.27%
```

They are not representative, as the worst case is when we have multiple
items of different lengths. However, `FileName` is usually less than 100
in practice, so the asymptotics is the same.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-23 13:41:01 +03:00
..
batch.go Reapply "[#972] pilorama: Remove removeDuplicatesInPlace()" 2024-04-10 12:09:34 +00:00
bench_test.go [#959] node: Set mode to shard's components when open it 2024-02-09 14:04:01 +00:00
boltdb.go [#1328] pilorama: Do not skip items in SortedByFilename 2024-08-23 13:41:01 +03:00
forest.go [#1251] pilorama: Allow traversing multiple branches in parallel 2024-07-17 11:25:07 +03:00
forest_test.go [#1328] pilorama: Do not skip items in SortedByFilename 2024-08-23 13:41:01 +03:00
generic_test.go [#xx] Avoid manual management of files in tests 2023-08-14 14:01:39 +03:00
heap.go [#1328] pilorama: Do not skip items in SortedByFilename 2024-08-23 13:41:01 +03:00
info.go [#1333] services/control: Return pilorama info in ListShards RPC 2022-07-21 15:08:24 +03:00
inmemory.go [#335] treesvc: Fix inmemory unit tests and nil meta items 2023-07-20 10:14:10 +03:00
interface.go [#1251] pilorama: Allow traversing multiple branches in parallel 2024-07-17 11:25:07 +03:00
meta.go [#1251] pilorama: Allow traversing multiple branches in parallel 2024-07-17 11:25:07 +03:00
meta_test.go [#772] node: Apply gofumpt 2023-10-31 17:03:03 +03:00
metrics.go [#1121] node: Change mode of shard components 2024-06-05 05:55:24 +00:00
mode_test.go [#959] node: Set mode to shard's components when open it 2024-02-09 14:04:01 +00:00
multinode.go [#1251] pilorama: Allow traversing multiple branches in parallel 2024-07-17 11:25:07 +03:00
option.go [#373] pilorama: Add metrics 2023-06-21 15:13:26 +03:00
split_test.go [#1251] pilorama: Allow traversing multiple branches in parallel 2024-07-17 11:25:07 +03:00
types.go [#335] treesvc: Sort nodes by Filename in GetSubTree 2023-07-20 10:14:10 +03:00
util.go [#1442] pilorama: Generate timestamp based on node position in the container 2022-07-21 15:08:24 +03:00
util_test.go [#1442] pilorama: Generate timestamp based on node position in the container 2022-07-21 15:08:24 +03:00