rustic
rustic copied to clipboard
Add jemalloc as allocator for supported platforms
maybe this helps with #48
Actually I cannot judge if this is worthwhile enhancement. Can anyone help test this with different repo sizes and give some feedback about the results?
Repo 1
repoinfo:
File type | Count | Total Size
-----------+-------+------------
Key | 2 | 930 B
Snapshot | 188 | 103.2 kiB
Index | 20 | 10.5 MiB
Pack | 1548 | 5.6 GiB
Total | 1758 | 5.6 GiB
scanning index...
[00:00:00] ████████████████████████████████████████ 20/20
Blob type | Count | Total Size | Total Size in Packs
-----------+-------+------------+---------------------
Tree | 27108 | 114.5 MiB | 115.4 MiB
Data | 64654 | 5.5 GiB | 5.5 GiB
Total | 91762 | 5.6 GiB | 5.6 GiB
restic 0.13.1:
/usr/bin/time restic --quiet --no-cache check
10.69user 0.50system 0:06.69elapsed 167%CPU (0avgtext+0avgdata 79328maxresident)k
242312inputs+232outputs (0major+23769minor)pagefaults 0swaps
rustic 0.2.1:
/usr/bin/time rustic_0.2.1 -r /srv/REPO1 check --quiet --no-cache
enter repository password:
4.01user 0.48system 0:02.94elapsed 152%CPU (0avgtext+0avgdata 39468maxresident)k
1472inputs+0outputs (1major+17563minor)pagefaults 0swaps
rustic PR54:
/usr/bin/time rustic_pr54 --quiet --no-cache -r /srv/REPO1 check
enter repository password:
4.06user 0.49system 0:03.11elapsed 146%CPU (0avgtext+0avgdata 39472maxresident)k
0inputs+0outputs (0major+17567minor)pagefaults 0swaps
Repo2
repoinfo:
File type | Count | Total Size
-----------+-------+------------
Key | 2 | 929 B
Snapshot | 799 | 282.8 kiB
Index | 560 | 54.9 MiB
Pack | 47752 | 212.2 GiB
Total | 49113 | 212.3 GiB
scanning index...
[00:00:00] ████████████████████████████████████████ 560/560
Blob type | Count | Total Size | Total Size in Packs
-----------+--------+------------+---------------------
Tree | 21986 | 7.9 GiB | 7.9 GiB
Data | 426799 | 203.8 GiB | 203.8 GiB
Total | 448785 | 211.7 GiB | 211.7 GiB
restic 0.13.1:
/usr/bin/time restic --quiet --no-cache check
574.35user 4.89system 4:57.09elapsed 194%CPU (0avgtext+0avgdata 156264maxresident)k
1611136inputs+456outputs (0major+571117minor)pagefaults 0swaps
rustic 0.2.1:
/usr/bin/time rustic_0.2.1 -r /srv/REPO2 check --quiet --no-cache
216.63user 4.42system 1:53.45elapsed 194%CPU (0avgtext+0avgdata 61556maxresident)k
480inputs+0outputs (0major+28381minor)pagefaults 0swaps
rustic PR54:
/usr/bin/time rustic_pr54 --quiet --no-cache -r /srv/REPO2 check
218.07user 4.20system 1:53.80elapsed 195%CPU (0avgtext+0avgdata 61756maxresident)k
0inputs+0outputs (0major+28453minor)pagefaults 0swaps
Repo 3
repoinfo:
File type | Count | Total Size
-----------+--------+------------
Key | 2 | 928 B
Snapshot | 196 | 62.1 kiB
Index | 24 | 153.7 MiB
Pack | 269934 | 1.3 TiB
Total | 270156 | 1.3 TiB
scanning index...
[00:00:01] ████████████████████████████████████████ 24/24
Blob type | Count | Total Size | Total Size in Packs
-----------+---------+------------+---------------------
Tree | 30787 | 360.4 MiB | 361.3 MiB
Data | 1125102 | 1.3 TiB | 1.3 TiB
Total | 1155889 | 1.3 TiB | 1.3 TiB
restic 0.13.1:
/usr/bin/time restic --quiet --no-cache check
38.51user 2.19system 0:24.34elapsed 167%CPU (0avgtext+0avgdata 504448maxresident)k
747816inputs+328outputs (1major+232687minor)pagefaults 0swaps
rustic 0.2.1:
/usr/bin/time rustic_0.2.1 -r /srv/REPO3 check --quiet --no-cache
15.24user 1.74system 0:11.43elapsed 148%CPU (0avgtext+0avgdata 237708maxresident)k
25664inputs+0outputs (0major+186603minor)pagefaults 0swaps
rustic PR54:
/usr/bin/time rustic_pr54 --quiet --no-cache -r /srv/REPO3 check
15.28user 1.67system 0:10.87elapsed 155%CPU (0avgtext+0avgdata 229464maxresident)k
0inputs+0outputs (0major+184477minor)pagefaults 0swaps
@dimejo Thanks for the results! Now, in your settings this PR doesn't change much... Good to see however, that rustic seems to have desired performance in all cases :+1: :smile:
I think I just leave this PR open. So anyone can try out if this helps. If at some point a clearer result comes up , we can decide what to do.
Maybe we can rebase it, hide it behind a feature flag and merge it?
Closing in favour of #897