forked from TrueCloudLab/frostfs-node
Aleksey Savchuk
147c467151
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 │ new.txt │ │ sec/op │ sec/op vs base │ InhumeMultipart/objects=1-12 11.45m ± 0% 11.43m ± 0% ~ (p=0.315 n=10) InhumeMultipart/objects=10-12 113.94m ± 1% 11.60m ± 0% -89.82% (p=0.000 n=10) InhumeMultipart/objects=100-12 1144.08m ± 1% 30.17m ± 12% -97.36% (p=0.000 n=10) InhumeMultipart/objects=1000-12 11367.5m ± 0% 265.7m ± 2% -97.66% (p=0.000 n=10) InhumeMultipart/objects=10000-12 113.505 ± 0% 2.436 ± 1% -97.85% (p=0.000 n=10) geomean 1.140 76.32m -93.31% ``` Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com> |
||
---|---|---|
.. | ||
ape | ||
core | ||
innerring | ||
local_object_storage | ||
morph | ||
network | ||
services | ||
tracing | ||
util |