Denis Voytyuk
bfeef01d23
test(general): added unit tests for freepool ( #2930 )
2023-04-13 18:58:16 -07:00
Jarek Kowalski
0554e2f7ce
refactor(general): introduced generics to reduce boilerplate code ( #2527 )
...
This removes tons of boilerplate code around:
- retry loop
- connection management
- storage registration
* used generics in runInParallel
* introduced generics in freepool
* introduced strong typing for workshare.Pool and workshare.AsyncGroup
* fixed linter error on openbsd
2022-10-29 01:56:51 +00:00
Jarek Kowalski
aec08c84c2
fix(snapshots): panic: unaligned 64-bit atomic operation ( #2151 )
...
Reverted to regular sync.Pool
Fixes #2150
2022-07-06 18:34:25 -07:00
Jarek Kowalski
0b6d76712f
feat(snapshots): added free pool of localfs entries ( #2115 )
...
This avoids allocations of entries as large directories are traversed.
Backing up 100k small files in a single directory:
duration: current:8.1 baseline:8.6 change:-5.7 %
avg_heap_objects: current:7330688.9 baseline:7463750.6 change:-1.8 %
avg_heap_bytes: current:829248496.6 baseline:864880473.2 change:-4.1 %
avg_ram: current:159.3 baseline:159.1 change:+0.1 %
max_ram: current:283.2 baseline:285.4 change:-0.8 %
avg_cpu: current:153.1 baseline:143.6 change:+6.7 %
max_cpu: current:295.6 baseline:292.4 change:+1.1 %
Backing up Linux 5.14.8 using --parallel=4:
duration: current:6.0 baseline:6.0 change:-0.0 %
avg_heap_objects: current:5654431.1 baseline:5845078.3 change:-3.3 %
avg_heap_bytes: current:764526988.2 baseline:806833320.4 change:-5.2 %
avg_ram: current:218.2 baseline:220.1 change:-0.9 %
max_ram: current:323.5 baseline:319.5 change:+1.3 %
avg_cpu: current:144.3 baseline:145.1 change:-0.6 %
max_cpu: current:224.6 baseline:220.6 change:+1.8 %
2022-07-01 21:12:55 -07:00