frostfs-node/pkg
Aleksey Savchuk d8764c7652
All checks were successful
Tests and linters / Run gofumpt (pull_request) Successful in 1m33s
DCO action / DCO (pull_request) Successful in 1m49s
Vulncheck / Vulncheck (pull_request) Successful in 2m18s
Pre-commit hooks / Pre-commit (pull_request) Successful in 2m42s
Build / Build Components (pull_request) Successful in 3m32s
Tests and linters / gopls check (pull_request) Successful in 3m41s
Tests and linters / Staticcheck (pull_request) Successful in 3m44s
Tests and linters / Lint (pull_request) Successful in 4m6s
Tests and linters / Tests with -race (pull_request) Successful in 6m20s
Tests and linters / Tests (pull_request) Successful in 6m26s
[#1450] engine: Inhume objects in parallel with a worker pool
Add a worker pool for `Inhume` operation and use it to handle objects
in parallel. Since metabase `Inhume` uses `bbolt.Batch`, handling many
objects one by one may be inefficient.

```
goos: linux
goarch: amd64
pkg: git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/engine
cpu: 12th Gen Intel(R) Core(TM) i5-1235U
                                 │    old.txt    │              new1.txt               │
                                 │    sec/op     │   sec/op     vs base                │
InhumeMultipart/objects=1-12         11.42m ± 1%   11.42m ± 1%        ~ (p=0.739 n=10)
InhumeMultipart/objects=10-12       113.51m ± 0%   11.62m ± 1%  -89.76% (p=0.000 n=10)
InhumeMultipart/objects=100-12     1135.41m ± 1%   28.30m ± 1%  -97.51% (p=0.000 n=10)
InhumeMultipart/objects=1000-12    11357.8m ± 0%   259.8m ± 1%  -97.71% (p=0.000 n=10)
InhumeMultipart/objects=10000-12    113.251 ± 0%    2.277 ± 1%  -97.99% (p=0.000 n=10)
geomean                               1.136        74.03m       -93.48%
```

Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
2024-11-19 12:24:18 +03:00
..
ape [#1388] apeSvc: Drop unused and make annotations 2024-09-25 08:55:38 +00:00
core [#1437] node: Fix contextcheck linter 2024-11-13 10:36:10 +03:00
innerring [#1496] morph: Return InvokeRes from all invoke*() methods 2024-11-15 16:36:07 +03:00
local_object_storage [#1450] engine: Inhume objects in parallel with a worker pool 2024-11-19 12:24:18 +03:00
morph [#1496] node/control: Await until SetNetmapStatus() persists 2024-11-15 16:36:07 +03:00
network [#1437] node: Fix contextcheck linter 2024-11-13 10:36:10 +03:00
services [#1437] node: Fix contextcheck linter 2024-11-13 10:36:10 +03:00
tracing [#146] node: Add trace_id to logs 2023-09-27 11:05:27 +03:00
util [#1437] logger: Add caller skip to log original caller position 2024-11-13 10:36:12 +03:00